Java 我怎么能这样呢;商店「;Spring启动程序中的json文件,因此我的web应用程序将读取此json

Java 我怎么能这样呢;商店「;Spring启动程序中的json文件,因此我的web应用程序将读取此json,java,json,spring-boot,Java,Json,Spring Boot,基本上,我正在编写我的第一个Spring Boot程序,我必须获得存储在JSON文件中的产品列表,以使用VueJS显示每个产品(我知道如何使用Vue,我只需要在网页或smth中的某个位置获取JSON数据) 我花了3'5个小时看了一些关于使用JSON和POST的教程,但没有一个有用。让我们调用您的文件config.JSON 在典型的maven项目中,将文件保存在 src/main/resources/config.json 在代码中,像 try { ClassPathR

基本上,我正在编写我的第一个Spring Boot程序,我必须获得存储在JSON文件中的产品列表,以使用VueJS显示每个产品(我知道如何使用Vue,我只需要在网页或smth中的某个位置获取JSON数据)


我花了3'5个小时看了一些关于使用JSON和POST的教程,但没有一个有用。

让我们调用您的文件config.JSON

在典型的maven项目中,将文件保存在

src/main/resources/config.json
在代码中,像

    try {

        ClassPathResource configFile = new ClassPathResource("config.json");

        String json = IOUtils.toString(configFile.getInputStream(), Charset.forName(Util.UTF_8));
    } catch (IOException e) {
        String errMsg = "unexpected error while reading config file";
        logger.error(errMsg, e);
        throw new Exception(e);
    }

之后,使用Jackson或GSON将json读入对象。从这里,您可以直接将其作为静态属性引用,也可以根据您的用例将其作为组件中的属性引用。

希望此代码能为您提供帮助

public class JsonReader{
    public static void readFromJson() throws Exception {
        InputStream inStream = JsonReader.class.getResourceAsStream("/" + "your_config_file.json");
        Map<String, String> keyValueMap =
                new ObjectMapper().readValue(inStream, new TypeReference<Map<String, String>>() {});
        inStream.close();
    }
}
公共类JsonReader{
public static void readFromJson()引发异常{
InputStream inStream=JsonReader.class.getResourceAsStream(“/”+“您的配置文件.json”);
映射键值映射=
新的ObjectMapper().readValue(流内,新的TypeReference(){});
流内关闭();
}
}

您可能需要为ObjectMapper()添加maven依赖项。

请回答您的问题,并包括您尝试过但无法正常工作的Spring引导代码。请与特定问题的相关代码共享更多详细信息。这不是因为我尝试了一个代码,它没有工作,我读过/看过的教程都没有达到我的目的。好吧!我现在就试试!现在我把所有的JSON都放在一个变量中。现在,我如何将它转换为静态元素,以及在何处引用它以使其与Vue协同工作?这将需要几个步骤。我建议1。使用ObjectMapper将字符串转换为对象2。使用SpringBootWeb公开Vue.js可以调用的端点。看一下本教程,了解一些想法-