python3操作json
admin
2023-07-08 19:04:55
0

json本身就是一种字符串。


# 需要导入模块包
import json
1,将字符串转为json格式
s1 = "{'key1':'value1','key2':'value2'}"
print(s1)
print(type(s1))
js1 = json.dumps(s1)
print(js1)
print(type(js1))

结果:
{'key1':'value1','key2':'value2'}

"{'key1':'value1','key2':'value2'}"

结论:
dumps就是把字符串外面又加了一层引号。

2,将json解析为字符串
s2 = json.loads(js1)
print(s2)
print(type(s2))

结果:
{'key1':'value1','key2':'value2'}

结论:
正好与dumps相反,减掉了最外层的引号。

3,字典转json
d1 = {'key1':'value1','key2':'value2'}
print(d1)
print(type(d1))
js2 = json.dumps(d1)
print(js2)
print(type(js2))

结果:
{'key1': 'value1', 'key2': 'value2'}

{"key1": "value1", "key2": "value2"}

结论:
效果非常有意思。尤其是与《字符串转json》对比一下。如果仅仅看最后得出来的数据的话,根本是看不出来。

4,json转字典
d2 = eval(js2)
print(d2)
print(type(d2))

结果:
{'key1': 'value1', 'key2': 'value2'}
5,再作个对比:字符串转字典
d3 = eval(s1)
print(d3)
print(type(d3))

结果:
{'key1': 'value1', 'key2': 'value2'}

结论:
可以看到,eval对于json和字符串的操作是相同的。


最终:

如果想操作json,最终的操作都可以转为Python的字典类型进行操作。
当然,不是非要这么做。

挺有意思的。


接收来自网页的json字符串,就一定要用loads加载一下才可以。如果要是直接使用eval的话,数据会有问题。


直接操作文件

import json

json_str = {'key1': 'value1', 'key2': 'value2'}

# 写入文件
# 可以通过json包,将json串(可以是字符串类型、字典类型、json类型)直接写入到文件中
with open('something.json') as sjw:
    json.dump(json_str, sjw)

# 读取文件
json_read = json.load('something.json')
print(json_read)
json_read.close()

相关内容

热门资讯

美前副总统:共和党失去了方向,... 2026年是美国的中期选举年,共和党选情不利,可能在年底的选举中遭遇挫败。美国前副总统彭斯5月31日...
南枝原来去过中国?《给阿嬷的情... 《给阿嬷的情书》票房口碑双丰收,目前票房已突破13亿。凤凰卫视最新一期《问答神州》专访了该片导演蓝鸿...
法国海军扣押一艘俄“影子舰队”... 近日,法国海军在大西洋海域扣押了一艘据称从俄罗斯摩尔曼斯克出发的油轮,引发俄方强烈不满。俄新社6月1...
凤凰晚报丨面粉染头模仿黄仁勋,... 今日人物【面粉染头模仿黄仁勋,农村青年走红后称遭“法务”警告】“先赔偿5000元肖像侵权使用费,再删...
亲特朗普极右派候选人领跑哥伦比... 【文/观察者网 熊超然】当地时间5月31日,哥伦比亚总统选举拉开帷幕,首轮投票计票工作已完成逾99%...
2026年度网络举报系列宣传活... 5月28日至29日,以“每一件举报,都是共治的力量——豫你e行 同心护网”为主题的2026年度网络举...
中原首例帝企鹅DNA性别鉴定!... 近日,郑州海昌海洋公园正式对外公布中原首对人工繁育的帝企鹅萌宝的DNA性别鉴定报告。这是中原首个将 ...
我国科学家为细胞信号“导航”开... 新华社济南5月31日电(记者张力元)人体细胞犹如一座精密的通信城市,每天都有大量“指令”穿梭传递,调...
极端大风突袭哈尔滨!过山车停摆... 极目新闻记者 詹钘5月31日,受强对流天气影响,哈尔滨国际会展中心体育场相关设施受到损坏,原计划当晚...
三原电缆取得电缆接头连接用防护... 国家知识产权局信息显示,上海三原电缆附件有限公司取得一项名为“一种电缆接头连接用防护结构”的专利,授...