Utilisez ResourceUtils de Spring pour lire le fichier json dans le répertoire des ressources.
Utilisez common-io pour convertir le fichier lu en chaîne json.
Utilisez fastjson pour désérialiser les chaînes json en objets.
pom.xml, principalement l'introduction de common-io et fastjson.
<!-- 资源目录资源文件读取 --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.11.0</version> </dependency> <!-- 反序列化json字符串 --> <dependency> <groupId>com.alibaba.fastjson2</groupId> <artifactId>fastjson2</artifactId> <version>2.0.14</version> </dependency>
notice.json, répertoriez simplement le contenu json à utiliser.
[ { "title": "新功能xxx上线", "content": "支持xxx" }, { "title": "旧功能xxx下线", "content": "不支持xxx" } ]
3.1. Définir l'interface
package com.example.springbootjson.service; import com.example.springbootjson.domain.NoticeInfo; import java.io.IOException; import java.util.List; /** * @author hongcunlin */ public interface NoticeService { /** * 获取公告 * * @return 公告 * @throws IOException 文件 */ List<NoticeInfo> getNoticeInfoList() throws IOException; }
3.2. Implémenter l'interface
Cela peut être considéré comme la partie centrale de cet article. Pour plus de détails, vous pouvez voir l'implémentation dans le code et. lire notice.json via ResourceUtils Ce fichier json est converti en chaîne json via FileUtils de common-io, et l'objet json est désérialisé via le JSON de fastjson.
package com.example.springbootjson.service.impl; import com.alibaba.fastjson2.JSON; import com.example.springbootjson.domain.NoticeInfo; import com.example.springbootjson.service.NoticeService; import org.apache.commons.io.FileUtils; import org.springframework.stereotype.Service; import org.springframework.util.ResourceUtils; import java.io.File; import java.io.IOException; import java.util.List; /** * @author hongcunlin */ @Service public class NoticeServiceImpl implements NoticeService { @Override public List<NoticeInfo> getNoticeInfoList() throws IOException { File file = ResourceUtils.getFile("classpath:notice.json"); String json = FileUtils.readFileToString(file, "UTF-8"); List<NoticeInfo> noticeInfoList = JSON.parseArray(json, NoticeInfo.class); return noticeInfoList; } }
Écrivez un test d'intégration simple, injectez le service écrit ci-dessus, exécutez la méthode et imprimez les résultats de l'exécution.
package com.example.springbootjson; import com.example.springbootjson.service.NoticeService; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import javax.annotation.Resource; import java.io.IOException; @SpringBootTest class SpringbootJsonApplicationTests { @Resource private NoticeService noticeService; @Test void contextLoads() throws IOException { System.out.println(noticeService.getNoticeInfoList()); } }
Vous pouvez voir que le contenu du fichier json peut être affiché normalement, indiquant que notre programme est correct.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!