如何使用rest API和spring boot解析JSON文件

时间:2018-05-06 19:37:04

标签: json rest api parsing spring-boot

我是新手,我想阅读使用rest api导入的JSON文件,并使用spring boot解析它。 我使用他的方法使用CSV文件:

 @RequestMapping(value = "/import", method = RequestMethod.POST)
      public String handleFileUpload(@RequestParam("file") MultipartFile multipartFile) throws IOException {
          String name = multipartFile.getOriginalFilename();
          System.out.println("File name: "+name);
          byte[] bytes = multipartFile.getBytes();
          System.out.println("File uploaded content:\n" + new String(bytes));
          return "file uploaded";
      }

现在我要解析一个JSON文件:

[  
    {  
        "name":"John",
        "city":"Berlin",
        "cars":[  
            "audi",
            "bmw"
        ],
        "job":"Teacher"
    },
    {  
        "name":"Mark",
        "city":"Oslo",
        "cars":[  
            "VW",
            "Toyata"
        ],
        "job":"Doctor"
    }
]

我试过用java解析这个文件,它对我有用,但我不知道怎么用rest api来获取它

解析te文件JSON的方法可行

public static void main(String[] args) throws FileNotFoundException,
    IOException, ParseException {

JSONParser parser = new JSONParser();
JSONArray jsonArray = (JSONArray) parser.parse(new FileReader(
        "D:/PFE 2018/testjsonfile.json"));

for (Object o : jsonArray) {
    JSONObject person = (JSONObject) o;

    String strName = (String) person.get("name");
    System.out.println("Name::::" + strName);

    String strCity = (String) person.get("city");
    System.out.println("City::::" + strCity);

    JSONArray arrays = (JSONArray) person.get("cars");
    for (Object object : arrays) {
        System.out.println("cars::::" + object);
    }
    String strJob = (String) person.get("job");
    System.out.println("Job::::" + strJob);
    System.out.println();

}

}

现在如何使用rest api重用这个方法

1 个答案:

答案 0 :(得分:0)

这取决于你想用你的JSON做什么(在你的问题中并不完全清楚)。 一般来说,使用Spring Boot的好习惯是使用Jackson

  • 如果您希望JSON具有已知格式或

  • ,则将您的JSON与POJO绑定
  • 在树中映射您的JSON。

例如,可以在this article中找到所描述行为的示例。