分享json,分享json是什么意思

http://www.itjxue.com  2023-01-06 00:56  来源:未知  点击次数: 

【Python】浅谈python中的json

一 前言 ?

? ?最近一直在做开发相关的工作--基于Django的web 平台,其中需要从model层传输数据到view 层做数据展示或者做业务逻辑处理。我们采用通用的Json格式--Json(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和程序解析。

二 认识Json

? ?2.1 Json 结构

? ?常见的Json格式为 “名称/值”对的集合,其中 值可以是对象,列表,字典,字符串等等。比如

backup_data?=?{"back_to_host":?"dbbk0",

"ip_address":?"10.10.20.3",

"host_name":?"rac4",

"port":?3306}

? 2.2 使用Json

? Python的Json模块序列化与反序列化的过程分别是 编码和解码。这两个过程涉及到两组不同的函数

??编码 把一个Python对象编码转换成Json字符串,json.dumps(data)/json.dump(data,file_handler)

? 解码 把Json格式字符串解码转换成Python对象,json.loads(data)/json.load(file_handler)

? 在python中要使用Json模块做相关操作,必须先导入:

import Json

? 2.3 主要函数

? 编码函数主要有 json.dumps(data)/json.dump(data,file_handler)

? ?json.dumps()的参数是将python对象转换为字符串,如使用json.dumps序列化的对象json_dumps=json.dumps({'a':1, 'b':2}) ,json_dumps='{"b": 2, "a": 1}'

? ?json.dump 是将内置类型序列化为json对象后写入文件。

?解码函数主要由json.loads(data)/json.load(file_handler) ?

? ??json.loads的参数是内存对象,把Json格式字符串解码转换成Python对象,json_loads=json.loads(d_json) ?#{ b": 2, "a": 1},使用load重新反序列化为dict

? ? json.load()的参数针对文件句柄,比如本地有一个文件/tmp/test.json ?json_load=json.load(open('/tmp/test.json'))

具体案例参考如下:

In?[3]:?data={"back_to_host":?"rac1",

...:?"ip_address":?"10.215.20.3",

...:?"host_name":?"rac3",

...:?"port":?3306}

In?[7]:?json_str=json.dumps(data)

In?[8]:?print json_str

{"ip_address":?"10.215.20.3",?"back_to_host":?"rac1",?"host_name":?"rac3",?"port":?3306}

In?[9]:?json_loads=json.load(json_str)

---------------------------------------------------------------------------

AttributeError Traceback?(most recent?call?last)

ipython-input-9-180506f16431?in?module()

----?1 json_loads=json.load(json_str)

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.pyc?in?load(fp,?encoding,?cls,?object_hook,?parse_float,?parse_int,?parse_constant,?object_pairs_hook,?**kw)

284

285?""

注意 从上面的报错信息来看 json.loads 传参是字符串类型,并不是文件句柄,没有 read()属性。

In?[10]:?json_loads=json.loads(json_str)

In?[11]:?print json_loads

{u'back_to_host':?u'rac1',?u'ip_address':?u'10.215.20.3',?u'host_name':?u'rac3',?u'port':?3306}

In?[12]:?type(json_loads)

Out[12]:?dict

In?[13]:?type(json_str)

Out[13]:?str

利用dump 将数据写入 dump.json

In?[17]:?with open('/tmp/dump.json','w')?as f:

...:?json.dump(json_str,f)

...:

yangyiDBA:~?yangyi$ cat /tmp/dump.json

"{\"ip_address\": \"10.10.20.3\", \"back_to_host\": \"rac1\", \"host_name\": \"rac3\", \"port\": 3306}"

yangyiDBA:~?yangyi$

利用json.load 将dump.sjon的数据读出来并赋值给 data?

In?[18]:?with open('/tmp/dump.json','r')?as f:

...:?data=json.load(f)

...:

In?[19]:?print data

{"ip_address":?"10.10.20.3",?"back_to_host":?"rac1",?"host_name":?"rac3",?"port":?3306}

三 小结

? 本文算是一篇学习笔记,主要对比了json.loads/json.load ?, json.dumps/ json.dump 的使用差异 ,方便以后更好的使用json 。

以上为本次分享内容,感谢观看。

知识分享之Golang——JSON Schema书籍分享

知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。

知识分享系列目前包含Java、Golang、Linux、Docker等等。

在我们使用JSON时经常根据需求进行一些转换使用,但是当我们需要作为服务交换时双方需要有一个统一的约束,而本次分享的JSON Schema就是起到这个作用的,本节就分享一下JSON Schema提供的一个很实用的 说明书 ,有需求的可以进行研读一下,和我们常见的一些国际组件中使用的json格式基本差不多(国际化标准就是这个~)。

JSON Schema

post发送JSON数据(字符串、数组、字典、自定义对象)给服务器

post发送JSON数据(字符串、数组、字典、自定义对象)给服务器

触发发送的方法

这次Demo是通过点击屏幕触发发送数据给服务器事件

前提需要开启本地模拟服务器

发送JSON字符串

发送字典给服务器

发送数组给服务器

发送oc对象给服务器

先讲对象转换为字典

通过系统提供的JSON解析类进行序列化

觉得不错请点赞支持,欢迎留言或进我的个人群855801563领取【架构资料专题目合集90期】、【BATJTMD大厂JAVA面试真题1000+】,本群专用于学习交流技术、分享面试机会,拒绝广告,我也会在群内不定期答题、探讨

谁能分享下省市区完整的json数据

中国省份,城市,县,镇,村五级联动选择框-JS/JSON数据

以国家统计局2016年统计用区划及代码数据为标准,整理收录了数据共71万多条。未包括我国台湾省、香港特别行政区、澳门特别行政区数据,如需相关数据请自行整理。数据来源:2016年统计用区划代码和城乡划分代码-国家统计局

Android读取本地json文件的方法

本文实例讲述了Android读取本地json文件的方法。分享给大家供大家参考,具体如下:

1、读取本地JSON ,但是显示汉字乱码

public static String readLocalJson(Context context, String fileName){ String jsonString=""; String resultString=""; try { BufferedReader bufferedReader=new BufferedReader(new InputStreamReader( context.getResources().getAssets().open(fileName))); while ((jsonString=bufferedReader.readLine())!=null) { resultString+=jsonString; } } catch (Exception e) { // TODO: handle exception } return resultString;}

2、读取本地JSON,显示汉字正确,txt文件设置时UTF-8,UNIX

public static String readLocalJson(Context context, String fileName){ String jsonString=""; String resultString=""; try { InputStream inputStream=context.getResources().getAssets().open(fileName); byte[] buffer=new byte[inputStream.available()]; inputStream.read(buffer); resultString=new String(buffer,"GB2312"); } catch (Exception e) { // TODO: handle exception } return resultString;}

json是什么意思

json的意思就是一种轻量级的数据交换格式。其中的具体情况如下:

它基于ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

简洁和清晰的层次结构使得json成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

扩展资料

据了解,json的交互方式主要分为:

1、同步交互

发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;

2、异步交互

发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。

由此看来,区别在于一个需要等待,一个不需要等待,在部分情况下,项目开发中都会优先选择不需要等待的异步交互方式。

(责任编辑:IT教学网)

更多

推荐Discuz!建站文章