android json(输出字符串和数组)解析

时间:2012-08-23 13:01:47

标签: android json parsing

如何解析此输出

{
    "durum": "tamam",
    "mahalleler": [
        {
            "mahalle_kodu": "1",
            "mahalle_ismi": "BEKTAŞ MAH."
        },
        {
            "mahalle_kodu": "2",
            "mahalle_ismi": "ÇARŞI MAH."
        }]}

我尝试此代码但返回“null”。

            contacts = json.getJSONArray("mahalleler");

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

                JSONObject c = contacts.getJSONObject(i);

                String name = c.getString("mahalle_kodu");
                String body = c.getString("mahalle_ismi");}

有什么问题? json输出有两个变量; mahalleler []和durum。我想解析硬粒小麦的价值和mahalleler数组的价值。但我无法做到这一点。

4 个答案:

答案 0 :(得分:1)

      JSONObject json = new JSONObject("{
"durum": "tamam",
"mahalleler": [
    {
        "mahalle_kodu": "1",
        "mahalle_ismi": "BEKTAŞ MAH."
    },
    {
        "mahalle_kodu": "2",
        "mahalle_ismi": "ÇARŞI MAH."
    }]}
   ");

 String name[]
    String body[]

      JSONArray  contacts = json.getJSONArray("mahalleler");
         name=new String[contacts.length()];
      body  =new String[contacts.length()];

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

            JSONObject c = contacts.getJSONObject(i);

             name[i] = c.getString("mahalle_kodu");
             body[i] = c.getString("mahalle_ismi");}

我认为你在for循环中声明了字符串

答案 1 :(得分:0)

你必须得到像这样的json数组

JSONArray mahallelerArray = c.getJSONArray("mahalleler");

答案 2 :(得分:0)

你需要检查内容是否在json中:

if (json != null && !json.isNull("mahalleler")) {
   JSONArray contacts = json.getJSONArray("mahalleler");

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

            JSONObject c = contacts.getJSONObject(i);

            String name = c.getString("mahalle_kodu");
            String body = c.getString("mahalle_ismi");}

}

答案 3 :(得分:0)

您在String内声明了for loop。使它们成为类变量数组来存储数据。