0

我看到了这个链接:How to parse a JSON and turn its values into an Array? 并认为它很有用。这对我有用,除了一件事。我没有参考资料。我有:

 ["some_long_string"]

这就是数据。我不知道为什么会这样,但是当我检查日志时,这就是我的 Java 中的数据吐出的内容。

通过上面链接中的示例,我正在查看带有 Java 的 JSONObject,也由他们的站点表示:http: //www.json.org/java/

我看到了解决此问题的选项,但对语法不太确定。如果您能提供帮助,那就太好了。我的尝试是这样的:

 JSONObject myjson = new JSONObject(data);
 //String item = myjson.getStrings()[0]; //or something like this.
4

2 回答 2

3

用这个:

JSONArray arr = (JSONArray)new JSONTokener(sourceString).nextValue();

请参阅JSONTokener的文档。

于 2012-10-04T16:21:26.237 回答
1

获取一个 ArrayList 并将整个字符串解析为 Arraylist,如下所示:

ArratList<string> list = new ArrayList<string>();

list.add(yourJSONObject.getString(index));
list.add(yourJSONObject.getString(index));

您可以将所有值一一添加到ArrayList并将字符串解析为ArrayList。您也可以将其用作多个值,如下所示,如果要解析多个数据类型JSON,则可以使用以下步骤。首先创建一个包含所有数据类型的类。

class multipledatatypes{
    int id;
    String a,b,c;
    Double d;
}

现在将此类解析为 Arralist 并插入如下值

ArrayList<multipledatatypes> list = new ArrayList<multipledatatypes>();
 for (int i = 0; i < JArray_cat.length(); i++) {
         multipledatatypes mdto = new multipledatatypes();
         mdto.id = yourJSONObject.getInt(index);
         mdto.a = yourJSONObject.getString(index);
         mdto.b = yourJSONObject.getString(index);
         mdto.c = yourJSONObject.getString(index);
         mdto.d = yourJSONObject.getDouble(index);
         list.add(mdto);
    }

这是如何将数据解析到 Arraylist 并在代码中使用它。

希望对你有帮助....

于 2012-10-04T16:38:11.773 回答