python3 json转字符串怎么把json文件转换成字符串

__author__ = 'SRC_TJ_XiaoqingZhang'
import json
data1 = {'b': 789, 'c': 456, 'a': 123}
encode_json = json.dumps(data1)
print type(encode_json), encode_json
decode_json = json.loads(encode_json)
print type(decode_json)
print decode_json['a']
print decode_json
阅读(...) 评论()&&&&Python实现Json与Dict的互相转换
Python实现Json与Dict的互相转换
使用python实现dict和json字符串的互相转换,以及相应的文件读入和存取操作。相当于实现了简单的jsonlib。对于Python的学习有一定的帮助。
主要的类是JsonParser,对外的接口在JsonParser里有定义,对外的接口均有详细的注释。最主要就是注意转义符的处理了,特别是unicode转义符。
若举报审核通过,可奖励20下载分
被举报人:
xiaozhi326
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行使用Python解析JSON数据的基本方法-爱编程
使用Python解析JSON数据的基本方法
Python的json模块提供了一种很简单的方式来编码和解码JSON数据。 其中两个主要的函数是 json.dumps() 和 json.loads() , 要比其他序列化函数库如pickle的接口少得多。 下面演示如何将一个Python数据结构转换为JSON:
import json
'name' : 'ACME',
'shares' : 100,
'price' : 542.23
json_str = json.dumps(data)
下面演示如何将一个JSON编码的字符串转换回一个Python数据结构:
data = json.loads(json_str)
如果你要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据。例如:
# Writing JSON data
with open('data.json', 'w') as f:
json.dump(data, f)
# Reading data back
with open('data.json', 'r') as f:
data = json.load(f)
用法示例:
相对于python解析XML来说,我还是比较喜欢json的格式返回,现在一般的api返回都会有json与XML格式的选择,json的解析起来个人觉得相对简单些
先看一个简单的豆瓣的图书查询的api返回
/v2/book/isbn/1
{"rating":{"max":10,"numRaters":79,"average":"9.1","min":0},"subtitle":"","author":["野夫"],"pubdate":"2013-9","tags":[{"count":313,"name":"野夫","title":"野夫"},{"count":151,"name":"散文随笔","title":"散文随笔"},{"count":83,"name":"身边的江湖","title":"身边的江湖"},{"count":82,"name":"土家野夫","title":"土家野夫"},{"count":70,"name":"散文","title":"散文"},{"count":44,"name":"中国文学","title":"中国文学"},{"count":43,"name":"随笔","title":"随笔"},{"count":38,"name":"中国现当代文学","title":"中国现当代文学"}],"origin_title":"","image":"/mpic/s.jpg","binding":"","translator":[],"catalog":"自序 让记忆抵抗n001 掌瓢黎爷n024 遗民老谭n039 乱世游击:表哥的故事n058 绑赴刑场的青春n076 风住尘香花已尽n083 “酷客”李斯n100 散材毛喻原n113 颓世华筵忆黄门n122 球球外传:n一个时代和一只小狗的际遇n141 童年的恐惧与仇恨n151 残忍教育n167 湖山一梦系平生n174 香格里拉散记n208 民国屐痕","pages":"256","images":{"small":"/spic/s.jpg","large":"/lpic/s.jpg","medium":"/mpic/s.jpg"},"alt":"/subject//","id":"","publisher":"广东人民出版社","isbn10":"","isbn13":"1","title":"身边的江湖","url":"/v2/book/","alt_title":"","author_intro":"郑世平,笔名野夫,网名土家野夫。毕业于武汉大学,曾当过警察、囚徒、书商。曾出版历史小说《父亲的战争》、散文集《江上的母亲》(获台北2010国际书展非虚构类图书大奖,是该奖项第一个大陆得主)、散文集《乡关何处》(被新浪网、凤凰网、新华网分别评为2012年年度好书)。","summary":"1.野夫书稿中被删减最少,最能体现作者观点、情感的作品。n2.文字凝练,具有极强的感染力。以一枝孤笔书写那些就在你我身边的大历史背景下普通人的生活变迁。n3. 柴静口中“一半像警察,一半像土匪”的野夫,以其特有的韵律表达世间的欢笑和悲苦。","price":"32元"}
看起来别提多乱了,现在我们将其格式进行简单的整理
numRaters: 79,
average: "9.1",
subtitle: "",
pubdate: "2013-9",
count: 313,
name: "野夫",
title: "野夫"
count: 151,
name: "散文随笔",
title: "散文随笔"
count: 83,
name: "身边的江湖",
title: "身边的江湖"
count: 82,
name: "土家野夫",
title: "土家野夫"
count: 70,
name: "散文",
title: "散文"
count: 44,
name: "中国文学",
title: "中国文学"
count: 43,
name: "随笔",
title: "随笔"
count: 38,
name: "中国现当代文学",
title: "中国现当代文学"
origin_title: "",
image: "/mpic/s.jpg",
binding: "",
translator: [ ],
catalog: "自序 让记忆抵抗 001 掌瓢黎爷 024 遗民老谭 039 乱世游击:表哥的故事 058 绑赴刑场的青春 076 风住尘香花已尽 083 “酷客”李斯 100 散材毛喻原 113 颓世华筵忆黄门 122 球球外传: 一个时代和一只小狗的际遇 141 童年的恐惧与仇恨 151 残忍教育 167 湖山一梦系平生 174 香格里拉散记 208 民国屐痕",
pages: "256",
small: "/spic/s.jpg",
large: "/lpic/s.jpg",
medium: "/mpic/s.jpg"
alt: "/subject//",
publisher: "广东人民出版社",
isbn10: "",
isbn13: "1",
title: "身边的江湖",
url: "/v2/book/",
alt_title: "",
author_intro: "郑世平,笔名野夫,网名土家野夫。毕业于武汉大学,曾当过警察、囚徒、书商。曾出版历史小说《父亲的战争》、散文集《江上的母亲》(获台北2010国际书展非虚构类图书大奖,是该奖项第一个大陆得主)、散文集《乡关何处》(被新浪网、凤凰网、新华网分别评为2012年年度好书)。",
summary: "1.野夫书稿中被删减最少,最能体现作者观点、情感的作品。 2.文字凝练,具有极强的感染力。以一枝孤笔书写那些就在你我身边的大历史背景下普通人的生活变迁。 3. 柴静口中“一半像警察,一半像土匪”的野夫,以其特有的韵律表达世间的欢笑和悲苦。",
price: "32元"
下面我们通过python来取出想要的信息,比如我们想要rating,images里的large和summary
import urllib2
import json
html = urllib2.urlopen(r'/v2/book/isbn/1')
hjson = json.loads(heml.read())
print hjson['rating']
print hjson['images']['large']
print hjson['summary']
是不是很简单,其实只要把返回的json格式嵌套搞清楚,json还是比较简单的
版权所有 爱编程 (C) Copyright 2012. . All Rights Reserved.
闽ICP备号-3
微信扫一扫关注爱编程,每天为您推送一篇经典技术文章。python 如何合并两个 json 文件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
推荐学习书目
Python Sites
值得关注的项目
Python 编程
Sponsored by
国内领先的实时后端云野狗 API 可用于开发即时聊天、网络游戏、实时定位等实时场景传输快!响应快!入门快!
Promoted by
python 如何合并两个 json 文件
23:41:46 +08:00 · 4889 次点击
不是合并两个普通文件。是json文件,合并后成为一个大的json文件
13 回复 &| &直到
17:13:46 +08:00
& & 23:54:48 +08:00 via Android
& & 00:23:15 +08:00 via Android
先转成两个dict,然后合并,再转成json
& & 00:30:48 +08:00 via iPad
先 read,然后 json.loads,之后调用 dict 的 update 方法合并?
要考虑有没有相同的 key,不知道具体要求…
& & 00:39:30 +08:00
import glob
import json
files = glob.glob('*.json')
result = []
for file in files:
f = open(file,'r')
a = json.load(f)
for b in a:
result.append(b)
print len(result)
outfile = json.dumps(result)
& & 00:40:53 +08:00
怎么合并……json不一定是dict的形式,也可以一开始就是list呢,也可以就是字符串或者Boolean或者数字呢……看你要求了,不过一般来说用json那个库应该能搞定。
& & 00:43:22 +08:00
以上都是合法的json内容
& & 00:43:45 +08:00
& & 03:56:42 +08:00
import json
json.dump(open('target.json'), [json.load(open('source1.json')), json.load(open('source2.json'))])
& & 03:57:33 +08:00
import json
json.dump([json.load(open('source1.json')), json.load(open('source2.json'))], open('target.json'))
& & 09:22:42 +08:00
要哪种合并?有一种合并是这样的:
两个文件a和b,内容为 A 和 B,那么合并后:
{'a': A , 'b': B}
多快好省,哈哈。
& & 09:43:52 +08:00
完全没有上下文的问题为什么会有这么多人回答?
& & 10:04:25 +08:00
import ast
ast.literal_eval(json)
& & 17:13:46 +08:00
@ 这个就是我想要的。谢谢
& · & 1392 人在线 & 最高记录 2011 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.7.3 · 39ms · UTC 10:22 · PVG 18:22 · LAX 03:22 · JFK 06:22? Do have faith in what you're doing.longtian001 的BLOG
用户名:longtian001
文章数:165
评论数:31
访问量:195445
注册日期:
阅读量:5863
阅读量:12276
阅读量:322838
阅读量:1033075
51CTO推荐博文
一、JS对象与JSON格式数据相互转换目前的项目数据交互几乎都用JQuery,所以处理流程是:前端页面数据-》JS对象-》jQuery提交-》python处理,另外一种就是倒过来。python肯定不能直接处理JS对象数据,所以要把JS对象转换成为python能处理的一种数据格式(通常是字典dict),同样,python取数据反馈到前端也要把字典数据转换成JS能处理的对象,这个中间转换数据格式通常就是JSON。 1、JS对象转换成为JSON 流程:读取前端页面数据,组装成为JS对象,并通过jQuery的$.post()方法传递给python。 处理:引用一个json2.js文件,调用JSON.stringify()方法。例如:var data = new Object(); var json_data = JSON.stringify(data); 读取:python这里就很简单了,用dict_data = json.loads(json_data)就OK了 2、JSON转换成为JS 流程:python组装一个dict数据并转成JSON格式传递给前端,或者前端通过jQuery的$.getJSON()方法直接读取这个JSON格式的数据 处理:用jQuery的一个方法$.parseJSON()将JSON格式的数据转成JS对象。例如:var json_data = $.getJSON(); var data = $.parseJSON(json_data); 读取:JS对像的操作就不必多说了 这里,python要把字典转换成JSON格式数据,用json.dumps()这个方法就行了 PS:json2.js这个文件在网上搜一下就能下载到。下载地址http://www.json.org/json-zh.html二、使用Javascript/jQuery将javascript对象转换为json格式数据.Javascript自带的eval()函数能够将json数据转换成Javascript对象。但是,却没有提供将Javascript对象序列化为json格式的函数。[javascript] view plaincopy01.var json = '{"name":"John"}'; &02.var obj = eval( '(' + json + ')' ); & &03.alert( obj.name ); &jQuery中可以使用$.parseJSON(json)来将json转换为Javascript对象,但却没有提供将Javascript对象转换成json的函数。[javascript] view plaincopy01.var json = '{"name":"John"}'; &02.var obj = $.parseJSON(json); & &03.alert( obj.name ); & &如果我们要把Javascript对象转化成json,发送给服务器,该怎么办呢?其实很简单,可以使用jquery.json插件。插件下载地址:/p/jquery-json/当前版本如下:jquery.json-2.4.js (压缩版:jquery.json-2.4.min.js)该插件提供了4个函数,用于解析和反解析json,具体如下:.toJSON:将javascript的object, number, string, 或 array 转换成 JSON数据。.evalJSON:把JSON格式数据转换成Javascript对象,速度很快,不过这点速度微不足道(作者自己说的)。.secureEvalJSON:把JSON 转换成 Javascript对象,但是转换之前会检查被转换的数据是否是 JSON格式的。.quoteString:在字符串两端添加引号,并智能转义(跳过)任何引号,反斜杠,或控制字符。使用例子(注意需要和jQuery核心库结合使用):[javascript] view plaincopy01.var obj = {"plugin":"jquery-json","version":2.4}; &02.//json = '{"plugin":"jquery-json","version":2.4}' &03.var json = $.toJSON( obj ); &04.// 得到name值为:"jquery-json" &05.var name = $.evalJSON( json ). &06.// 得到version值为:2.4 &07.var version = $.evalJSON( json ). &jQuery核心库下载地址:/
了这篇文章
类别:┆阅读(0)┆评论(0)

我要回帖

更多关于 python 字符串 json 的文章

 

随机推荐