2012-10-04 25 views
0

我看到这个链接:How to parse a JSON and turn its values into an Array?,并认为它是有用的。这对我来说很有用,除了一件事。我没有参考。我有:采用json对象并使用JSONObject类或其他方式将其解析为java内部的字符串?

["some_long_string"] 

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

有了上面的链接的例子中,我一直在寻找的JSONObject的与Java,通过他们的网站上也表示:http://www.json.org/java/

我看到解决这个,但是,语法不太确定的选项。如果你能帮上忙,那会很棒。我的尝试是这样的:

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

[]:它是一个数组,而不是一个对象,阅读文档再次 – njzk2

+0

真真的我知道。我错过 – Fallenreaper

回答

3

使用此:

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

请参阅该文档为JSONTokener

+0

,然后,因为它是一个数组,只需参考它相应? arr [0] .toString()? – Fallenreaper

+0

或者它会更类似于:path =(String)new JSONTokener(path).nextValue(); – Fallenreaper

+0

你是对的。谢谢(你的)信息。你需要做的是: //你在上面做了什么。 String item = arr.getString(0); – Fallenreaper

1

以一个ArrayList和分析整个串到ArrayList只看到以下内容:

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

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

你可以添加一个个都值到ArrayList和解析字符串ArrayList.You也可以使用它作为像下面这样的多个值,如果你想分析多个数据类型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和在代码中使用它。

希望这将帮助你....

+0

.getsString(index)似乎不是对JSONObject的调用 – Fallenreaper

+0

你必须有for循环直到你JSONARRAY。您的索引是来自所有数组值的数据。 –

+0

是的,我不知道如何做JSON迭代。我会给你一个+1,如果你调整代码来显示它,并调整你的第一个代码块,不要说getsString(),因为有一个额外的'' – Fallenreaper

相关问题