Vì vậy, tôi đang sử dụng GSON để phân tích cú pháp JSON từ một API và bị kẹt như thế nào để phân tích cú pháp các trường động trong dữ liệu.Làm cách nào để phân tích cú pháp các trường JSON động bằng GSON?
Dưới đây là một ví dụ về dữ liệu JSON trở lại trên một truy vấn:
{
-
30655845: {
id: "30655845"
name: "testdata
description: ""
latitude: "38"
longitude: "-122"
altitude: "0"
thumbnailURL: http://someimage.com/url.jpg
distance: 9566.6344386665
}
-
28688744: {
id: "28688744"
name: "testdata2"
description: ""
latitude: "38"
longitude: "-122"
altitude: "0"
thumbnailURL: http://someimage.com/url.jpg
distance: 9563.8328713012
}
}
Con đường tôi hiện đang xử lý các giá trị tĩnh duy nhất là với một lớp:
import com.google.gson.annotations.SerializedName;
public class Result
{
@SerializedName("id")
public int id;
@SerializedName("name")
public String name;
@SerializedName("description")
public String description;
@SerializedName("latitude")
public Double latitude;
@SerializedName("longitude")
public Double longitude;
@SerializedName("altitude")
public Double altitude;
@SerializedName("thumbnailURL")
public String thumbnailURL;
@SerializedName("distance")
public Double distance;
}
Và sau đó tôi có thể chỉ cần sử dụng GSON để phân tích cú pháp đó:
Gson gson = new Gson();
Reader reader = new InputStreamReader(source);
Result response= gson.fromJson(reader, Result.class);
Tôi biết điều này hoạt động trên dữ liệu phụ khi tôi có thể truy vấn và nhận một mục nhập và phân tích cú pháp khá dễ dàng, nhưng những gì về các giá trị số nguyên ngẫu nhiên được đưa ra cho mỗi giá trị trong mảng? (tức là 30655845 và 2868874)
Bất kỳ trợ giúp nào?
Đóng đinh nó, điều này làm việc hoàn hảo. Cám ơn rất nhiều. : D –
Có cách nào để phân tích cú pháp giống nhau nhưng sử dụng NewtonSoft không? –