无法使用其键从字符串中获取值

时间:2014-08-12 17:36:55

标签: java android mysql json

无法使用Android代码中的result密钥从name字符串对象获取值

我想从MySQL表中获取值并在下拉列表中显示它 为此,我写下面的代码

JSONObject json_data = new JSONObject(result);              
List<String> mynamelist = (List<String>) json_data.getJSONArray("name");
return (List<String>) mynamelist;

下面显示resultjson_data的调试值 enter image description here

我想只返回名字(ashish,john) 所以我确实喜欢(List<String>) json_data.getJSONArray("name");

如何从result获取所有值 检查图像。

2 个答案:

答案 0 :(得分:2)

试试这些

JSONObject json_data = new JSONObject(result);
List<String> mynamelist = new List<String>(); JSONArray jsonMainNode = jsonResponse.optJSONArray("arrayName");

   for (int i = 0; i < jsonMainNode.length(); i++) { JSONObject jsonChildNode = jsonMainNode.getJSONObject(i); mynamelist.add(jsonChildNode.optString("name")); } return mynamelist;

答案 1 :(得分:1)

您尚未共享JSON,但如果您的JSON有效,则如下所示:

[
    {
        "name": "nme"
    },
    {
        "name": "done"
    },
    {
        "name": "dinkol"
    }
]

然后解析它的正确方法也将它放在JSONArray对象中。 循环遍历JSONObject并将值附加到列表数组:

JSONArray json_data = new JSONArray(result);      

List<String> mynamelist = new ArrayList<String>();
for(int i = 0; i < json_data.length(); i++){
    mynamelist.add(json_data.getJSONObject(i).getString("name"));
}