Android解析字符串的Json数组

Posted

技术标签:

【中文标题】Android解析字符串的Json数组【英文标题】:Android parse Json array of Strings 【发布时间】:2013-10-12 09:13:04 【问题描述】:

如何在 android 中解析 Json 字符串数组并将其保存在 java 字符串数组中(例如:xy[])?

我的 Json 被解析:

 [
  
    "streets": [ "street1", "street2", "street3",... ],
  
 ]

稍后在我的代码中,我想在我的布局中使用该数组填充一个微调器项。 我尝试的所有东西都只在微调器中列出了一个街头物品。

【问题讨论】:

你的意思是字符串数组?? 请发布您的完整代码。 其实它是一个字符串数组的对象数组 【参考方案1】:

解析

try 

   JSONArray jr = new JSONArray("Your json string");
   JSONObject jb = (JSONObject)jr.getJSONObject(0);
   JSONArray st = jb.getJSONArray("streets");
   for(int i=0;i<st.length();i++)
       
      String street = st.getString(i);
      Log.i("..........",""+street);
      // loop and add it to array or arraylist
        
catch(Exception e)

        e.printStackTrace();

一旦你解析并将它添加到数组中。使用相同的内容填充您的微调器。

[代表json数组节点

代表json对象节点

【讨论】:

@Hesam 那么你做错了不是因为发布的解析代码是错误的 感谢您的快速回复。我有和数组完全一样的问题,数组包含 5 个网址。我按照你的方式做了,Intelij Idea 说“变量 'url' 初始化程序 '(String) jFaceShape.get(j)' 是多余的”。此外,当我编译时,我可以看到我的循环,但里面没有字符串。这是我的代码: JSONArray jFaceShape = jObject.optJSONArray(Product.TAG_FACE_SHAPES); for(int j=0; j " + url); @Hesam 发布您的 json。你做错了。无论您使用什么 IDE,它都应该可以工作 非常感谢您的时间。请看这个网址hijab2go.com/?route=feed/web_api/products 让我们continue this discussion in chat【参考方案2】:

试试这个..

 JSONArray arr = new JSONArray(json string);

    for(int i = 0; i < arr.length(); i++)

            JSONObject c = arr.getJSONObject(i);        
            JSONArray ar_in = c.getJSONArray("streets");

        for(int j = 0; j < ar_in.length(); j++)    
            Log.v("result--", ar_in.getString(j));
        
   

【讨论】:

【参考方案3】:

我们需要先创建 JSON 对象。例如,

JSONObject jsonObject = new JSONObject(resp);
// resp is your JSON string
JSONArray arr  = jsonObject.getJSONArray("results");
Log.i(LOG, "arr length =  " + arr.length());
for(int i=0;i<arr.length();i++)
...

arr 可能包含其他 JSON 对象或 JSON 数组。如何转换 JSON 取决于 String。可以在http://www.hemelix.com/JSONHandling找到一个完整的示例,其中包含有关 JSON 字符串到 JSON 数组的一些说明

【讨论】:

以上是关于Android解析字符串的Json数组的主要内容,如果未能解决你的问题,请参考以下文章

从 Django 到 Android 的 JSON 数组

跪求 一个Android 里一个本地Json文件的解析,要完

如何仅将一些选定的 Json 数组和 Json 对象从 Url 解析到 android 设备

如何在 Android 中使用 Java 和 org.json 迭代这个 JSON 数组?

如何在 Android 中解析 JSON 数组(不是 Json 对象)

解析json数组android