如何解析以下 JSON 响应?
How to parse below JSON response?
{
"status": true,
"data": {
"1": "Business People",
"2": "Actors",
"3": "Musicians",
"4": "Sports People",
"5": "Artists",
"6": "Politicians"
},
"message": "Get data successfully."
}
我要解析上面的json.
提前致谢
将您的数据更改为 JSONArray 作为一组 JSONObject 以执行动态作业
JSONObject json = new JSONObject(your_string)
JSONArray data = json.getJsonArray("data");
for(int i = 0;i<data.length();i++)
{
JSONObject item = data.getJSONObject(i);
String itemString = item.getString(Integer.parseInt(i+1));
/// do whatever you want ie : add itemString to a list
}
您可以使用 handy service 为您生成 java 模型。
然后就用Gson来序列化-反序列化json.
但是在您的情况下,“1”、“2”、“3”等可能是固定参数或动态映射。
我建议使用 Klaxon 来解析 JSON
https://github.com/cbeust/klaxon
非常简单的用法:
Klaxon().parse<yourClass>(yourJsonAsString)
其中 yourClass 是满足您的解析需求的数据 class。请参阅 Klaxon 文档以了解您的每项需求。如果您需要帮助,请发表评论。
访问此网站https://quicktype.io/,它将帮助您创建 java 个模型。
现在使用 GSON 序列化和反序列化 JSON。
添加以下依赖
实施'com.google.code.gson:gson:2.8.5'
举个例子:
public Car fromJson(){
String json = "{\"brand\":\"Jeep\", \"doors\": 3}";
Gson gson = new Gson();
Car car = gson.fromJson(json, Car.class);
return car;
}
我认为将数字作为对象中的键不是一个好习惯,
我建议你使用 JsonArray
{
"status":true,
"message":"Get data successfully.",
"data":[ "Business People", "Actors", "Musicians", "Sports People", "Artists"
,"Politicians"]
}
然后使用JsonArray解析数据
{
"status": true,
"data": {
"1": "Business People",
"2": "Actors",
"3": "Musicians",
"4": "Sports People",
"5": "Artists",
"6": "Politicians"
},
"message": "Get data successfully."
}
我要解析上面的json.
提前致谢
将您的数据更改为 JSONArray 作为一组 JSONObject 以执行动态作业
JSONObject json = new JSONObject(your_string)
JSONArray data = json.getJsonArray("data");
for(int i = 0;i<data.length();i++)
{
JSONObject item = data.getJSONObject(i);
String itemString = item.getString(Integer.parseInt(i+1));
/// do whatever you want ie : add itemString to a list
}
您可以使用 handy service 为您生成 java 模型。
然后就用Gson来序列化-反序列化json.
但是在您的情况下,“1”、“2”、“3”等可能是固定参数或动态映射。
我建议使用 Klaxon 来解析 JSON https://github.com/cbeust/klaxon
非常简单的用法:
Klaxon().parse<yourClass>(yourJsonAsString)
其中 yourClass 是满足您的解析需求的数据 class。请参阅 Klaxon 文档以了解您的每项需求。如果您需要帮助,请发表评论。
访问此网站https://quicktype.io/,它将帮助您创建 java 个模型。
现在使用 GSON 序列化和反序列化 JSON。
添加以下依赖 实施'com.google.code.gson:gson:2.8.5'
举个例子:
public Car fromJson(){
String json = "{\"brand\":\"Jeep\", \"doors\": 3}";
Gson gson = new Gson();
Car car = gson.fromJson(json, Car.class);
return car;
}
我认为将数字作为对象中的键不是一个好习惯, 我建议你使用 JsonArray
{
"status":true,
"message":"Get data successfully.",
"data":[ "Business People", "Actors", "Musicians", "Sports People", "Artists"
,"Politicians"]
}
然后使用JsonArray解析数据