json现在也被作为一种主要的数据交换格式,不仅在网页上能用还可以用到类似智能手机这样的设备。和xml比起来虽然可读性差了点,但是在传输的时候体积小,对于IOS设备也比xml方便的多。

1.下面来看下这段json字符串,生成这样的字符串可以使用JSON开发包也可以自己拼接字符串

{
    "cityInfo": [
        {
            "cityId": "001",
            "cityName": "嘉兴"
        },
        {
            "cityId": "002",
            "cityName": "宁波"
        }
    ],
    "name": "浙江省"
}

2.解析这段json字符串,首先取得一个JSONObject,如果只有一层数据直接使用getString("名称")就可以,含有集合的话就使用getJSONArray("名称");先得到集合如下所示

JSONObject obj = new JSONObject(json.toString());
JSONArray obj2 = obj.getJSONArray("cityInfo");

得到集合后遍历就可得到一个JSONObject,再调用getString("name");  就行了,下面是完整的代码

JSONObject obj = new JSONObject(json.toString());
JSONArray obj2 = obj.getJSONArray("cityInfo");
for (int i = 0; i < obj2.length(); i++) {
       JSONObject temp = new JSONObject(obj2.getString(i));
	System.out.println(temp.getString("cityId"));
	System.out.println(temp.getString("cityName"));
}
System.out.println("============所在省份为=================");
System.out.println(obj.getString("name"));

同样的这段代码也可以用在android的开发上,android已经内置了JSONObject和JSONArray和一系列的操作方法。

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐