gpt4 book ai didi

java - 使用 Java 解码对象的 JSON 数组

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:23 24 4
gpt4 key购买 nike

我有如下 JSON:

[{"0":"1","id":"1","1":"abc","name":"abc"},{"0":"2","id":"2","1":"xyz","name":"xyz"}]

它是一个对象数组。

我需要使用 Java 解析它。我在以下位置使用图书馆: http://code.google.com/p/json-simple/downloads/list

此链接中的示例 1 近似于我的要求: http://code.google.com/p/json-simple/wiki/DecodingExamples

我有以下代码:

/** Decode JSON */
// Assuming the JSON string is stored in jsonResult (String)

Object obj = JSONValue.parse(jsonResult);
JSONArray array = (JSONArray)obj;
JSONObject jsonObj = null;
for (int i=0;i<array.length();i++){
try {
jsonObj = (JSONObject) array.get(i);
} catch (JSONException e) {
e.printStackTrace();
}
try {
Log.d(TAG,"Object no." + (i+1) + " field1: " + jsonObj.get("0") + " field2: " + jsonObj.get("1"));
} catch (JSONException e) {
e.printStackTrace();
}
}

我收到以下异常:

java.lang.ClassCastException: org.json.simple.JSONArray
// at JSONArray array = (JSONArray)obj;

有人可以帮忙吗?

谢谢。

最佳答案

不要将您的对象转换为 JSONArray,您应该这样做:

JSONArray mJsonArray = new JSONArray(jsonString);
JSONObject mJsonObject = new JSONObject();
for (int i = 0; i < mJsonArray.length(); i++) {
mJsonObject = mJsonArray.getJSONObject(i);
mJsonObject.getString("0");
mJsonObject.getString("id");
mJsonObject.getString("1");
mJsonObject.getString("name");
}

关于java - 使用 Java 解码对象的 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8264725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com