如何在 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));
}
}
输入 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));
}
}