如何在java中解析json字符串中的列表?

vmdwslir  于 2021-09-13  发布在  Java
关注(0)|答案(2)|浏览(379)

输入json字符串:“{”predicted_route:[1351,371,372,373,0]}”,该字符串在对后端服务器进行post请求调用后收到。
我想将列表从json字符串提取到arraylist中。
我还没有在网上找到任何能说明这一点的东西?
如果我能使用org.json,那将是最好的。
谢谢

vof42yt1

vof42yt11#

import org.json.*;

String jsonString = inputJsonString; //assign your JSON String here
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray jsonArray = jsonObject.getJSONArray("predicted_route");
ArrayList<String> arrayList = new ArrayList<String>(); 
if (jsonArray != null) { 
    for (int i = 0; i < jsonArray.length(); i++) { 
        arrayList.add(jsonArray.getString(i));
    } 
}

java中解析json的更多示例
可下载jar:http://mvnrepository.com/artifact/org.json/json

gkl3eglg

gkl3eglg2#

包括jackson依赖项,这样您就可以反序列化json,而无需手动解析它

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.4</version>
</dependency>

创建对象的pojo表示。拥有 predicted_route Map到可以对其进行注解的正确字段 @JsonProperty .

class Route {  

    @JsonProperty("predicted_route")
    private List<Integer> predictedRoute;  

    public List<Integer> getPredictedRoute(){
        return predictedRoute;
    }

    public void setPlannedRoute(List<Integer> route){
        this.plannedRoute = route;
    }
}

将json字符串Map到您的对象

String yourJson = "{\\"predicted_route\\": [1, 351, 371, 372, 373, 0]}";
Route myRoute = new ObjectMapper().readValue(yourJson, Route.class);

System.out.println(myRoute.getPredictedRoute());

相关问题