将JSONArray转换为String []

时间:2014-04-23 22:37:18

标签: android string arrays

在尝试格式化JSONArray时遇到一些问题,它必须像这样出现:

String[] titles = {"commentator name 1", "commentator name 2", "commentator name 3"};

这是我的JSON:

"commentator": [
    "commentator name 1",
    "commentator name 2",
    "commentator name 3"
]

这是我的代码:

// getting JSON string from URL
JSONObject json = userFunction.getAudios();

List<String> list = new ArrayList<String>();

try {
    commentator = json.getJSONArray(TAG_COMENTATOR);
    Log.d("COMMENTATOR", commentator.toString());
    //System.out.println("*****COMMENTATOR*****" + commentator.length());

    if(commentator != null){
        for (int i = 0; i < commentator.length(); i++) {
            Log.d("FOR LOOP", "Value: " + commentator.getString(i));
            list.add( commentator.getString(i) );
        }
    }
} catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

String[] titles = list.toArray(new String[list.size()]);

但是这个代码我得到一个索引越界错误,我猜它没有很好的格式,任何想法?提前致谢

2 个答案:

答案 0 :(得分:0)

试试这个

 JSONArray jsonArr=new JSONArray(resultString);
 JSONArray jsonArr2=jsonArr.getJSONArray(0);
 for(int i = 0; i < jsonArr2.length(); i++)
 {
      list.add(jsonArr2.getString(i).);
 }

resultString是json字符串.. 它迭代到所有json数组并将其添加到String

的ArrayList中

答案 1 :(得分:0)

Jour json无效,Json中的evrything必须是一个对象或一个数组,你只能从一个键开始。

试试这个

{
    "commentator": 
    [
        "commentator name 1",
        "commentator name 2",
        "commentator name 3"
    ]
}

您可以随时在这里查看json:http://jsonformatter.curiousconcept.com/