在Python中, JSONObject 对应 dict,JSONArray对应listjava
1,JSONObjectjson
json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value}数组
</pre><pre name="code" class="java">JSONArray getJsonArray=JSONArray.fromObject(arrayStr);//将结果转换成JSONArray对象的形式 JSONObject getJsonObj = getJsonArray.getJSONObject(0);//获取json数组中的第一项 String result=getJsonObj.getJSONObject("name1").getJSONObject("name2").getJSONObject("name4");
2,JSONArrayspa
json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的code
Json对象中添加的是键值对,JSONArray中添加的是Json对象对象
JSONObject Json = new JSONObject(); JSONArray JsonArray = new JSONArray(); Json.put("key", "value");//JSONObject对象中添加键值对 JsonArray.add(Json);//将JSONObject对象添加到Json数组中
三、JSONObject与Mapblog
Map map和json都是键值对,不一样的是map中键值对中间用等号分开,json中键值对中间用冒号分开。其实json就是一种特殊形式的map。字符串
Map<String, String> strmap = new JsonObject();get
四、json.load()与json.dump() json.dumps() 可结合序列化 反序列化记忆 序列化即将对象序列化为字符串存储与磁盘。class
json.load():将json字符串转为对象,如dict,JsonObject
json.dumps():将对象转为json字符串,如java中toJsonString()
In [1]: import json In [2]: a = {'name': 'wang', 'age': 29} In [3]: b = json.dumps(a) In [4]: print b, type(b) {"age": 29, "name": "wang"} <type 'str'> In [11]: json.loads(b) Out[11]: {u'age': 29, u'name': u'wang'} In [12]: print type(json.loads(b)) <type 'dict'>
json.dump():实际中用的较少,将对象转为str并存入文件,须要写入文件参数json.dump(a, fp)