范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Python实战013如何将数据以JSON格式输出

  JSON(全称:JavaScript Object Notation) 是一种轻量级的数据交换格式,它的结构简洁、层次清晰也没有xml那么多标签描述让文件更加小巧且解析速度更快。非常适合做网络传输的数据格式,不仅可以有效地提升网络传输效率也可以降低带宽节约成本。所以我们在做开发的时候都更倾向于选择JSON来交换数据,这样对接起来方便也可以提高我们的开发效率。
  JSON数据结构
  JSON是一个标记符的序列,这些标记符主要有构造字符、字符串、数字和字面名。{} 双括号表示对象、[] 中括号表示数组、,逗号表示数据分隔符、"" 双引号内是属性或值、:冒号表示键值对分隔符、false表示假、null表示空值、true表示真,利用这些标记符我们可以方便快捷的生成JSON格式的数据。JSON一般有两种表示结构的数据分别是对象和数组,以"{"大括号开始,以"}"大括号结束的为对象结构,以"["中括号开始,以"]"中括号结束的为数组结构。
  定义JSON结构数据
  在python中可以利用字典和列表(相当于数组)构建JSON结构的数据,Python字典包括在花括号 {} 中,每个值之间用逗号","分割,每个键值对( key:value )用冒号 ": "分割。键一般是唯一不可变的,而值则可以取任何数据类型。Python 没有内置对数组的支持但可以使用列表代替,每个列表可以包含多个值,每个值分配了一个索引,值之间用逗号","分割。
  转换成JSON数据
  文件中只能写字符串,所以如果我们想把JSON结构的数据写入文件就需要先将其转成JSON字符串。当然JSON字符串不能直接用key、value来取值的,所以使用前我们需要先对JSON字符串进行转换。Python中将字典转换成JSON格式非常简单,直接引入内置的json模块来对 JSON数据进行编解码。json模块提供了四个方法: dumps、dump、loads、load,dump和dumps可以将字典进行序列化编码JSON格式的字符串,load和loads反序列化将json格式字符串数据解码为字典。
  dump和dumps的区别
  dump和dumps都是用来序列化对象的Python对象的,可以将字典编码成JSON字符串。主要的区别在于dump函数需要传入文件描述符将序列化的JSON字符串保存到文件中,而dumps函数则可以直接生成JSON字符串,其他的参数基本一样使用。dump方便数据存储,dumps则方便数据传输。
  load和loads的区别
  load和loads都是用来反序列化Python对象的,可以将JSON字符串解码成Python的字典。load主要针对文件句柄可以将文件中的JSON字符串转换成Python的字典,loads主要针对内存中的对象,可以将内存中的JSON字符串转换成Python的字典。
  总结:
  JSON因为其体积小、结构简洁、层次清晰、快存储,易解析等特点,被广泛应用在接口交互中作为数据传输媒介。现在大部分语言和框架都支持JSON格式,所以复用率很高!以上内容是小编给大家分享的【Python实战013:如何将数据以JSON格式输出】。希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
  为了方便学习,下面附上本文用到的源码:dict = {} list = [] dict["name"] = "zhangsan" dict["age"] = 18 dict["addr"] = "衡阳" dict["isSir"] = True list.append(dict) [{"name": "zhangsan", "age": 18, "addr": "衡阳", "isSir": True}]  string = json.dumps(list, indent = 2) with open("./a.txt",mode="w+") as wf:     wf.write(string) [   {     "name": "zhangsan",     "age": 18,     "addr": "衡阳",     "isSir": true   } ] with open("a.json", "w") as f:     json.dump(dict, f, indent = 2) string = json.dumps(list, indent = 2) with open("./a.json",mode="w") as f:     f.write(string) with open("a.json", "r", encoding="utf-8") as f:     load_val = json.load(f)          # 直接读取文件句柄     print(load_val, type(load_val))     f.seek(0)                        # 将文件游标移动到文件开头位置     string = f.read()     print(string, type(string))     loads_val = json.loads(string)   # loads的传入参数为字符串类型     print(loads_val, type(loads_val)) ===================================================================================== {"name": "zhangsan", "age": 18, "addr": "衡阳", "isSir": True}  {"name": "zhangsan", "age": 18, "addr": "衡阳", "isSir": true}  {"name": "zhangsan", "age": 18, "addr": "衡阳", "isSir": True} 

波兰加密矿商GamerHash正在推行其国际发展计划在获得马耳他的运营许可后,波兰公司GamerHash正在推行其国际发展计划,目标是在亚洲领先的加密交易所之一推出其代币,并在韩国建立业务。该公司向马耳他的扩张让GamerHash通PayPal将提供四种加密货币买卖服务9月17日,支付巨头PayPal在推特上宣布,所有符合条件的客户都可以通过PayPal账户购买出售四种加密货币,这四种加密货币包括比特币以太坊,莱特币和比特币现金。3月下旬,Pay加密市场停滞不前,Tezos和Cosmos反弹山寨币Tezos和Cosmos避免了今天市场的低迷,在过去二十四小时内取得了显著收益。根据加密数据聚合商Nomics的数据,Tezos比昨天飙升了16。67,达到5。95美元。Te万事达卡收购加密分析公司CipherTrace万事达卡宣布已收购加密货币跟踪公司CipherTrace,以期为新兴的数字资产生态系统提供额外的透明度和支持。CipherTrace专注于以加密货币为重点的反洗钱取证和区块链威胁情分析师称多链未来为比特币和以太坊带来了多个竞争对手周一,在Mainnet2021活动上与分析师WilsonWithiam和Messari首席执行官RyanSelkis进行讨论时,RyanWatkins表示,当前的多链环境提供了很多墨西哥央行行长称比特币不是货币墨西哥央行行长亚历杭德罗迪亚兹(AlejandroDiaz)表示,比特币不是真正的货币。据报道,迪亚兹说无论谁收到比特币以换取商品或服务,我们认为交易更类似于以物易物,因为那个人是英格兰银行加密资产对英国构成有限风险英格兰银行(BoE)金融政策委员会(FPC)表示加密资产市场继续快速增长,目前对英国金融稳定构成的风险有限。监管需要在国内和全球层面发展得足够快,以应对未来可能构成的风险,央行补充流动性平台KyberNetwork已在BSC推出了KyberDMM协议去中心化金融(DeFi)流动性平台KyberNetwork已在币安智能链(BSC)上推出了KyberDMM协议。DeFi旨在使用称为智能合约的自动化代码提供金融产品和服务,如贷款和Coinbase新NFT平台注册人数达到140万CoinbaseNFT的候补名单是一个非同质代币(NFT)的点对点市场,注册人数已经超过140万,总部位于旧金山的加密货币交易所宣布即将推出周二的平台。根据最初的公告,CoinbaNFT市场会让Canva增长更多吗?Canva首席执行官梅兰妮珀金斯(MelaniePerkins)在2019年接受采访时透露,虽然Canva的目标是成为家喻户晓的品牌,但成为一家上市公司并不是首要考虑因素。该公司并AndreCronje推出NFT市场,OpenSea的竞争对手本月早些时候,OpenSea前任员工NateChastain被指控进行内幕交易,他知道OpenSea的主页上会出现哪些NFT,并称买卖这些NFT以赚取约65,000美元的可观利润。
4K屏旗舰即将谢幕,三主摄12GBIP68,一年不到直降2000在追求手机极限的路上一直都没有终点,华为带火了相机之后,这两年手机屏幕又成为了手机厂商竞逐的重点。目前不少旗舰机都是2K120Hz,敢使用这样的组合,主要是使用了最新的E4和E5材机不离手怎么办?手机用得好,照样远离手机瘾(全篇共717个字,12张图片,看完约需2分钟,请放心阅读)前言随着时代的发展,智能手机对人们的作用越来越重要,人们每天都在看手机。领导的安排,老师的作业,亲朋好友的问候,无时无刻诺基亚1104G手机登场,支持移动支付,售价一如既往地很低最近,诺基亚举动不少,推出了新款4G手机诺基亚105和诺基亚110,都是功能机,但支持4G,还支持移动支付,距离全功能的日子越来越近了。这里我们着重看下诺基亚110,配置要比105你还在用收音机吗?请看TeenageEngineeringOb4magicradio瑞典以电子合成器著称的电子品牌Teenageengineering新近推出了一款极简风立体声收音机Ob4magicradio,其设计上简洁大方可做多种搭配,适合任何风格装潢的家中。iPadmini6渲染图新鲜出炉云渲染可谓是大功臣据传言称,第六代iPadmini预计将于今年晚些时候发布,而由MichaelMa(Appleidesigner)设计的最新渲染让我们看到了这款平板电脑的最新设计,以及它的主要规格。苹果推出iPhone12维修计划那么如何查看设备生产日期?苹果近日推出了一项新的服务计划,适用于无声音问题的iPhone12和iPhone12Pro。苹果表示,受影响设备的生产日期为2020年10月至2021年4月之间。那么普通用户如何查iPhone13定制X60基带,或支持卫星通信,没有网络也能打电话根据苹果分析师郭明錤最新消息称,iPhone13将配置低地球轨道(LEO)卫星通信连接,允许用户在未覆盖4G或5G信号区域通话和发短消息。郭明錤表示,iPhone13系列将配备能够性价比派玩家的春天定制Win7专业版联想昭阳E4380仅售3499定制Win7专业版联想笔记本昭阳E4380办公电脑14英寸轻薄本定制3865U8G256G固态win7专,目前在京东商城的售价为3499定制Win7专业版联想笔记本昭阳E4380办曝华为两新机9月与大众见面鸿蒙2。1加持中关村在线消息在即将到来的9月,华为有两款新机即将与大众见面,分别是于9月开售的华为P50标准版以及网传将在9月29日正式公布的华为nova9系列。根据之前传出的截图,nova9将小米MIX4尴尬!最便宜的屏下镜头旗舰现货还降价两千多拿下作为小米冲击高端以来发布的最强旗舰,小米MIX4在沉寂三年后终于来到了我们面前,不过由于小米数字系列的配置堆叠越来越疯狂,小米MIX4看起来无比豪华的整体参数却并没有太多的亮点,而秦昊测评家用投影仪什么牌子好?高性价比投影仪排行榜本人秦昊,平时非常喜欢数码产品,尤其是专注于视频类的,也是一个小小的数码博主。我在两三年前就开始使用投影仪,这期间也测评过不少投影仪品牌和型号,据我估计,没有五十款也有三十款了,都