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

How to parse a List inside a Json String In java?

输入 Json String: "{"predicted_route": [1, 351, 371, 372, 373, 0]}" 有在向后端服务器发出 Post 请求调用后收到。

我想将 JSON 字符串中的列表提取到 ArrayList 中。

我还没有在网上找到任何可以说明如何进行此操作的信息?

要是能用org.json就最好了

谢谢

包含 Jackson 依赖项,这样您就可以反序列化 JSON 而无需手动解析

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

创建对象的 POJO 表示。要将 predicted_route 映射到正确的字段,您可以使用 @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 字符串映射到您的对象

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

System.out.println(myRoute.getPredictedRoute());
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));
    } 
} 

更多示例parse JSON in Java

可下载的 jar:http://mvnrepository.com/artifact/org.json/json