分享json,分享json是什么意思
【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、异步交互
发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。
由此看来,区别在于一个需要等待,一个不需要等待,在部分情况下,项目开发中都会优先选择不需要等待的异步交互方式。