我有这样的JSON数据:
"books": [
{
"rating": {},
"subtitle": "",
"author": [
"The OReilly Java Authors"
],
"pubdate": "2003-9",
"tags": [],
"origin_title": "",
…… …… …… …… … …
我希望得到作者数据,一些“作者”数据有多个作者,但我只是混淆了天气,我可以像这样解析它:
JSONArray jsonbooks = mess.getJSONArray("books");
for(blabla){
JSONObject obj = jsonbooks.getJSONObject(i);
obj.getJSONArray("author").get(1):
或
JSONArray jsonbooks = mess.getJSONArray("books");
for(blabla){
JSONObject obj = jsonbooks.getJSONObject(i);
obj.getString("author");
第二种方式,我可以得到像“[”作者,blabla“]这样的数据,我想摆脱[”“],我需要更多的字符串处理,如果有更好的方式看起来像第一种方式? / p>
答案 0 :(得分:3)
由于作者是一个数组,因此首先将其转换为jsonArray
JSONArray jsonAuthor = mess.getJSONArray("author");
then String author = jsonAuthor.get(0); //this will give you -> The OReilly Java Authors
答案 1 :(得分:3)
第一个是正确的一个变更obj.getJSONArray("author").getString(0):
JSONArray jsonbooks = mess.getJSONArray("books");
for(blabla){
JSONObject obj = jsonbooks.getJSONObject(i);
obj.getJSONArray("author").getString(0):
答案 2 :(得分:0)
希望这会有所帮助:
JSONArray jsonAuthorNode = booksJsonObject.optJSONArray("author");
int jsonArrLen = jsonAuthorNode.length();
for(int j=0;j<jsonArrLen;j++)
{
String authorName = jsonAuthorNode.get(j);
}