1,json Module Introduction
JSON (JavaScript Object notation) is a lightweight data interchange format. Easy for people to read and write. It is also easy to machine parse and generate. It is based on JavaScript programming Language, Standard ECMA-262 a subset of 3rd Edition-december 1999. JSON uses a completely language-independent text format, but it also uses a family of C-language (c, C + +, C #, Java, JavaScript, Perl, Python, and so on). These features make JSON an ideal data exchange language.
format of 2,json
2.1, Object:
{Name: "Peggy", Email: "Peggy@gmail.com", Homepage: "Http://www.peggy.com"}
{property: Value, Property: Value, property: Value}
2.2, array:
is a collection of sequential values. An array begins with "[", Ends with "]", and the values are separated by ",".
[
{name: "Peggy", Email: "Peggy@gmail.com", Homepage: "Http://www.peggy.com"}, {name: "Peggy", Email: " Peggy@gmail.com ", homepage:" Http://www.peggy.com "},
{name:" Peggy ", Email:" Peggy@gmail.com ", homepage:" http:// Www.peggy.com "}
]
Alternatively, the value can be a string, a number, true, false, NULL, or an object or an array. These structures can be nested.
Import Export of 3,json
The meaning of the write/dump here is to enter a JSON object into a python_object, dump it into a file if Python_object is a file, or dump it into memory if it is an object. This is serialization. 3.1, read the JSON file
Import Simplejson as json
f = file (' Table.json ')
Source = F.read ()
target = json. Jsondecoder (). Decode (source)
print target
Import Simplejson as json
jsonobject = json.load (file (' Table.json '))
print Jsonobject
3.2, displaying the JSON file
To display the JSON format nicely, the original JSON file:
[admin@r42h06016.xy2.aliyun.com] $python readjson.py
[{' Query ': ' desc zt1; ', ' message ': ' {' Descibetablewithpartspec ": false", "gettablemetastring": "{\" tablename\\ ": \" zt1\\ ", \" owner\\ ": \" 1365937150772213\\ ", \" createtime\\ ": 1346218114,\\" lastmodifiedtime\\ ": 0,\\" columns\\ ": [{\ \ name\\]: \" a\\ ", \ "type\\": \ "string\\"},{\\ "name\\": \ "b\\", \ "type\\": \ "string\\"}],\\ "partitionkeys\\": [{\ "name\\": \ "pt\\" , \ \ "type\\": \ \ "String\\"}]} "} ', ' Queryid ': ', ' result ': ' OK '}]
Execute file:
Import Simplejson as json
jsonobject = json.load (file (' Table.json '))
print json.dumps (jsonobject,sort_keys= true,indent=4)
Show:
[admin@r42h06016.xy2.aliyun.com] $python readjson.py
[
{
"message": "{\" descibetablewithpartspec\ ": \" False\ ", \" gettablemetastring\ ": \" {\\\ "tablename\\\": \\\ "zt1\\\", \\\ "owner\\\": \\\ "1365937150772213\\\", \ \ "createtime\\\": 1346218114,\\\ "lastmodifiedtime\\\": 0,\\\ "columns\\\": [{\\\ "name\\\": \\\ "a\\\", \\\ "type\\\": \ \ \ "string\\\"},{\\\ "name\\\": \\\ "b\\\" \\\ "type\\\": \\\ "string\\\"}],\\\ "partitionkeys\\\": [{\\\ "name\\\": \\\ " pt\\\ ", \\\" type\\\ ": \\\" string\\\ "}]}\"} ",
" Query ":" Desc zt1; ",
" Queryid ":" ",
" result ":" OK "
}
]
3.3,json Module Example:
Import JSON
# converting Python to json
json_object = json.write (python_object)
# converting JSON to Pyth On
python_object = Json.read (json_object)
3.4,simplejson Module Example:
Import Simplejson
# converting Python to JSON
json_object = Simplejson.dumps (python_object)
# converting JS On to Python
python_object = simplejson.loads (json_object)
The json_object can also be file names such as file ("Tmp/table.json")
analysis of 4,json data
Suppose for the Data.json file as follows:
{' issuccess ': true, ' errormsg ': ', ' Total ': 1, ' data ': [{' Isonline ': true, ' IDC ': ' \xe6\x9d\xad\xe5\xb7\x9e\xe5\xbe\xb7 \XE8\X83\X9C\XE6\X9C\XBA\XE6\X88\XBF ', ' assetsnum ': ' B50070100007003 ', ' Responsibilityperson ': ' \xe5\xbc\xa0\xe4\ xb9\x8b\xe8\xaf\x9a ', ' devicemodel ': ' PowerEdge 1950 ', ' Servicetag ': ' 729hh2x ', ' IP ': ' 172.16.20.163 ', ' hostname ': ' Hzshterm1.alibaba.com ', ' manageip ': ' 172.31.58.223 ', ' cabinet ': ' H05 ', ' buytime ': ' 2009-06-29 ', ' usestate ': ' \xe4\xbd\ Xbf\xe7\x94\xa8\xe4\xb8\xad ', ' memoryinfo ': {' Amount ': 4, ' Size ': 8192}, ' CpuInfo ': {' corenum ': 8, ' l2cachesize ': 6144, ' Amount ': 2, ' model ': ' Intel (R) Xeon (r) CPU E5405 @ 2.00GHz ', ' Masterfrequency ': 1995}, ' Cabinetpositionnum ': ', ' Outguaranteetime ': ', ' logicsite ': ' \xe4\xb8\xad\xe6\x96\x87\xe7\xab\x99 '}]}
First import the file, create the JSON object, and view the type, which is already the dict type.
#test. py
Import Simplejson as json
ddata = json.loads (File ("Data.json"))
print ddata
print type (ddata ) #<type ' Dict ' >
Secondly, we read the key value in the dictionary that corresponds to "data"
>>> ddata[' data '//view dictionary method.
>>>type (ddata[' data '])
<type ' list ' >
Found ddata[' data ' is a list, the list is to be queried by serial number
>>> ddata[' data '][0]//View list method.
>>> type (ddata[' data '][0])
<type ' dict ' >
The number No. 0 element of the ddata[' data ' list is a dictionary.
Okay, so let's check the key for IDC, what's the value?
>>> ddata[' data '][0][' IDC '//View dictionary method.
>>> ddata[' data '][0][' IDC ' //View dictionary method.
' \XE6\X9D\XAD\XE5\XB7\X9E\XE5\XBE\XB7\XE8\X83\X9C\XE6\X9C\XBA\XE6\X88\XBF '
>>> print ddata[' Data '][0][' IDC ']
Hangzhou Desheng Room