将Json解析为对象或数组的值数组

时间:2012-03-19 11:53:47

标签: java android json

我有这个Json模型:

{
   "conditions":[
      "Offre non cumulable avec les promotions internes de playland",
      "Le centre ferme le lundi",
      "R\u00e9servation \u00e0 l'avance au 0661977474",
      "Les mineurs doivent remplir l'autorisation parentale sur le site www.playland.ma",
      "Valable sur pr\u00e9sentation d'une carte d'identit\u00e9 avec le bon",
      "Le forfait inclut les \u00e9quipements, les protections, le remplissage gaz et l'assurance",
      "Offre valable 1 mois du 1 Mars au 31 mars 2012"
   ]
}

我需要解析它并输入一个String但我不能这样做,因为我正在使用的代码,只解析这个数组中的第一个值,这就是代码:

JSONArray c = deals.getJSONArray(condition);
            for(int i = 0; i < c.length(); i++){
                 String Precision = c.getString(i);}

4 个答案:

答案 0 :(得分:0)

你可以简单地使用Gson,它可以对java中的对象进行操作,并将对象转换为json和反之亦然。

Gson的链接是 -

http://code.google.com/p/google-gson/

答案 1 :(得分:0)

试试这个,它可能对你有所帮助。

JSONObject jObject = new JSONObject(jsonResponseString);

JSONObject arrObject = jObject.getJSONArray("Tagname");

for (int i = 0, len = arrObject.length(); i < len; i++) 
{
    JSONObject json = arrObject.getJSONObject(i);
    System.out.println(json.getString("value1").toString());
    System.out.println(json.getString("value2").toString());
}

答案 2 :(得分:0)

试试这段代码。我的工作正常。

public class SampleActivity extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        String json = "[\"Offrenoncumulableaveclespromotionsinternesdeplayland\",\"Lecentrefermelelundi\",\"Réservationàl'avanceau0661977474\",\"Lesmineursdoiventremplirl'autorisationparentalesurlesitewww.playland.ma\",\"Valablesurprésentationd'unecarted'identitéaveclebon\",\"Leforfaitinclutleséquipements,lesprotections,leremplissagegazetl'assurance\",\"Offrevalable1moisdu1Marsau31mars2012\"]";
        try
        {
            JSONArray array = new JSONArray(json);

            for (int i = 0, len = array.length(); i < len; i++)
            {
                Log.i("info", array.getString(i));
            }

        } catch (JSONException e)
        {
            e.printStackTrace();
        }

    }

}

希望得到这个帮助。

答案 3 :(得分:0)

试试这个:-Vipul shah是正确的。

package com.ap.test;

import org.json.JSONArray;
import org.json.JSONException;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class StestActivity extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    StringBuffer sb = new StringBuffer();

    String json = "[\"Offrenoncumulableaveclespromotionsinternesdeplayland\",\"Lecentrefermelelundi\",\"Réservationàl'avanceau0661977474\",\"Lesmineursdoiventremplirl'autorisationparentalesurlesitewww.playland.ma\",\"Valablesurprésentationd'unecarted'identitéaveclebon\",\"Leforfaitinclutleséquipements,lesprotections,leremplissagegazetl'assurance\",\"Offrevalable1moisdu1Marsau31mars2012\"]";
    try
    {
        JSONArray array = new JSONArray(json);

        for (int i = 0, len = array.length(); i < len; i++)
        {
            Log.i("info", array.getString(i));

            sb.append(array.getString(i));

        }

        TextView sname = (TextView) findViewById(R.id.id_activity_lat);
        sname.setText(sb.toString());

    } catch (JSONException e)
    {
        e.printStackTrace();
    }

    }

}