0

如何解析这个输出

{
    "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[] 和硬粒小麦。我想解析硬粒小麦的 valur 和 mahalleler 数组的值。但我不能那样做。

4

4 回答 4

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");}

我认为你没有得到 o/p,因为你在 for 循环中声明了字符串

于 2012-08-23T13:13:55.467 回答
0

你必须像这样得到 json 数组

JSONArray mahallelerArray = c.getJSONArray("mahalleler");
于 2012-08-23T13:04:31.013 回答
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");}

}
于 2012-08-23T13:11:32.550 回答
0

String你在你的内部声明你的for loop. 使它们成为类变量数组以存储数据。

于 2012-08-23T13:18:41.383 回答