python解析json:json模块

来源:互联网 发布:linux禁ping设置 编辑:程序博客网 时间:2024/05/07 13:09

python中解析json字符串非常简单,直接用内置的json模块就可以,不需要安装额外的模块。


一、json字符串转为python值

json字符串:

{"userAccount":"54321","date":"2016-12-06 10:26:17","ClickTime": 1480991177,"jsonInfo":{"lon":121.5612,"lat":31.1832,"isGps":1,"netType":"WIFI","addr":"浦东新区长江南路1099弄56号"}}

格式化一下:

{    "userAccount": "54321",     "date": "2016-12-06 10:26:17",     "ClickTime": 1480991177,     "jsonInfo": {        "lon": 121.5612,         "lat": 31.1832,         "isGps": 1,         "netType": "WIFI",         "addr": "浦东新区长江南路1099弄56号"    }}


# -*- coding:gbk -*-import jsonsJOSN = '{"userAccount":"54321","date":"2016-12-06 10:26:17","ClickTime": 1480991177,"jsonInfo":{"lon":121.5612,"lat":31.1832,"isGps":1,"netType":"WIFI","addr":"浦东新区长江南路1099弄56号"}}'sValue = json.loads(sJOSN)print(sValue)

输出:

============= RESTART: C:\Users\Administrator\Desktop\Python.py ============={'jsonInfo': {'lat': 31.1832, 'isGps': 1, 'netType': 'WIFI', 'addr': '浦东新区长江南路1099弄56号', 'lon': 121.5612}, 'ClickTime': 1480991177, 'userAccount': '54321', 'date': '2016-12-06 10:26:17'}>>> 

对比一下原始字符串和输出的,发现前后顺序变了,因为在转化为python的字典数据的过程中,顺序会变化。

另外,json中的双引号都改成了单引号。


二、python值转为json字符串

# -*- coding:gbk -*-import jsonsDict={'jsonInfo': {'netType': 'WIFI', 'lat': 31.1832, 'addr': '浦东新区长江南路1099弄56号', 'isGps': 1, 'lon': 121.5612}, 'userAccount': '54321', 'ClickTime': 1480991177, 'date': '2016-12-06 10:26:17'}sValue = json.dumps(sDict)print(sValue)

输出:


又从字典数据变为了json字符串。


三、解析json中的数据

# -*- coding:gbk -*-import jsonsJOSN = '{"userAccount":"54321","date":"2016-12-06 10:26:17","ClickTime": 1480991177,"jsonInfo":{"lon":121.5612,"lat":31.1832,"isGps":1,"netType":"WIFI","addr":"浦东新区长江南路1099弄56号"}}'sValue = json.loads(sJOSN)for k in sValue.keys():    if str(type(sValue[k]))!="<class 'dict'>":        print(k+':'+ str(sValue[k]))    else:        print(str(k)+':')        for k1 in sValue[k].keys():            print(' '*3 + k1 +':'+str(sValue[k][k1]))

输出:

========= RESTART: C:\Users\Administrator\Desktop\Python json转为字典.py =========userAccount:54321date:2016-12-06 10:26:17jsonInfo:   netType:WIFI   addr:浦东新区长江南路1099弄56号   lon:121.5612   lat:31.1832   isGps:1ClickTime:1480991177


0 0
原创粉丝点击