json数据格式了解
json数据格式介绍:
https://en.wikipedia.org/wiki/JSON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式
json语法是JavaScript对象表示法语法的子集:
- 键值对
- 逗号分隔
- 花括号保存对象
- 方括号数据
json的键(字段名)是字符串(双引号)
json的值可以是数字, 字符串, 逻辑值(true, false), 数组(方括号), 对象(花括号嵌套), null
json文件类型: ".json"
栗子:
{ "employees": [ {"name": "jone", "age": 30, "quit": true}, {"name": "Peter", "age": 24, "quit": false}, ], "department":[ {"name": "tieba", "emp_num": 300, "location":2} {"name": "baike", "emp_num": 200, "location": 3} ] }
json文件的解析:
shell: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4131068
- JQ
- 读取一行的字段
- local address=`jq .employee[0].name tt.json` (address变量是带引号的"Peter")
- 读取一行的字段
- JQ
local address=`jq .employee[0].name tt.json | sed 's/\"//g' ` (用sed将双引号替换掉)
- 查看json文件内容
- jq . tt.json
- 通过键查找值
- jq .employee tt.json
- select查询
- jq '.employee[] | select (.name=='jone')' tt.json
- 查看json文件内容
- JSON.sh (a pipeable JSON parser written in Bash)
https://github.com/dominictarr/JSON.sh
python:
json模块: 用于字符串和python数据类型间进行转换,和数据序列化模块pickle的用法相同
Json模块提供了四个功能:dumps、dump、loads、load
import json data = {"name": "police", "phone": [110, 911]} # json数据等同python字典 # 写入json格式到文件 with open('test.json', 'w') as of: json.dump(data, of) # 读取json文件 with open('test.json', 'r') as of: data = json.load(of)
java
参照:http://json.cn/json/code.html, 还包括php及javaScript的构造解析方法
两种方法:json_lib http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/23/3096001.html
json_lib需要依赖ezmorph 和commons的lang、logging、 beanutils、collections等组件
org.json http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html
org.json包没有其他依赖,完成beans, collections, maps, arrays及xml和json的转换
上面链接文章提供了一个网址 http://www.json.org/,各种语言解析json数据的工具基本都罗列了
最新文章
- [iOS] 为文本加上横线方法
- selenium grid解决多台电脑进行并发执行测试脚本
- STL模板之_map,stack(计算矩阵相乘的次数)
- 如何解决PC端和移动端自适应问题?
- 阿里BCG重磅报告《人工智能,未来致胜之道》
- jQuery对象和DOM对象原来不一样啊
- 让操作javascript对象数组像.net lamda表达式一样
- RabbitMQ消息队列(三):任务分发机制
- js中 &;&; 与 || 的妙用
- CJOJ 免费航班
- 使用springmvc时静态的文件获取不到,比如说样式丢失的问题。
- 爬取拉勾网招聘信息并使用xlwt存入Excel
- 设置和取消git代理
- Vue语法学习第一课——插值
- MySQL 优化小技巧
- WIN10 常用bug解决办法
- LinQ to sql 各种数据库查询方法
- (原)torch,caffe,python中读入数据的默认范围
- ajax 传递数组给后台.net MVC 控制器
- scrollview的总结
热门文章
- MySQL密码忘了怎么办
- elasticsearch-1.7.1 (es Windows 64)
- [NOIP2018 TG D1T3]赛道修建
- C++——拷贝构造函数说明
- win10 update orchestratorservere禁用
- Cannot resolve symbol ‘Component’ &; Cannot resolve symbol ‘PropTypes’
- PowerMock
- Unable to start activity ComponentInfo{com.example.administrator.myapplication/com.example.administrator.myapplication.MainActivity}: android.view.InflateException: Binary XML file line #0: Binary XM
- js 日期获去及格式化
- linux 学习好资源