如何解析作为字符串接收的json数据

时间:2014-04-04 11:34:34

标签: android json

[
    {"CityName":"Jaipur","CityId":1},
    {"CityName":"Jodhpur","CityId":2},
    {"CityName":"Ajmer","CityId":3},
    {"CityName":"Bikaner","CityId":4}

]

我想获得所有的城市名称和他们的身份,但我不知道该怎么做。因为我刚接触到android,任何答案对我都有很大的帮助。谢谢你提前

7 个答案:

答案 0 :(得分:1)

试试这个..

您的回复为JSONArray,如下所示

<强> JSON

[                                  //JSONArray  array
    {                              //JSONObject jObj
        "CityName": "Jaipur",      //optString cityName
        "CityId": 1                //optInt CityId
    },
    {
        "CityName": "Jodhpur",
        "CityId": 2
    },
    {
        "CityName": "Ajmer",
        "CityId": 3
    },
    {
        "CityName": "Bikaner",
        "CityId": 4
    }
]

<强>代码

JSONArray array = new JSONArray(response);
for(int i=0;i<array.length();i++){
  JSONObject jObj = array.optJSONObject(i);
  String cityName = jObj.optString("CityName");
  int CityId = jObj.optInt("CityId");
  Log.v("cityName :",""+cityName);
  Log.v("CityId :",""+CityId);
}

答案 1 :(得分:0)

尝试这个

JSONArray jarray   =new JSONArray(response);
 String[] cityName = new String[jarray.length()]  
JSONObject jObject=null;
for(int j=0;j<jarray.length();j++){
  jObject=jarray.getJSONObject(j);
  cityName[j]=jObject.getString("CityName");
}

答案 2 :(得分:0)

这样做

ArrayList<String> cityname=new ArrayList<String>();

   JSONArray jsonarr=new JSONArray(string);
    for(i=0;i<jsonarr.length();i++){

    cityname.add(jsonarr.getJSONObject(i).getString("CityName"));

    }

答案 3 :(得分:0)

使用JSON类进行解析,例如

JSONObject mainObject = new JSONObject(Your_Sring_data);
String  CityName= mainObject .getJSONObject("CityName");
String CityId= mainObject .getJSONObject("CityId");

...

答案 4 :(得分:0)

试试这个:

JSONArray jsonArray= jsonResponse.getJSONArray("your_json_array_name");
for (int i=0; i<jsonArray.length(); i++) {
    JSONObject jsonObject= jsonArray.getJSONObject(i);
    String name = jsonObject.getString("CityName");
   String id = jsonObject.getString("CityId");
}

答案 5 :(得分:0)

这可能会对你有所帮助..

GSON for JSON Parsing

使用GSON Library进行JSON解析是一种高效且最好的方法..它。

答案 6 :(得分:0)

您可以使用json-path库来简化JSON解析。

您可以从here

下载json-path lib

然后将此库添加到项目/ libs /文件夹中。

然后像这样导入项目名称

import com.jayway.jsonpath.JsonPath;

然后像这样解析你的JSON数据

JSONArray jsonData= new JSONArray(JsonPath.read(jsonStringData,"$..CityId[*]").toString());