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数据的工具基本都罗列了
json数据格式了解的更多相关文章
- XML和JSON数据格式对比
概念 XML 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语 ...
- VS快速生成JSON数据格式对应的实体
有固定好的Json数据格式,你还在手动敲对应的实体吗?有点low了!步入正题,这是一个json字符串,先去验证JSON数据格式(http://www.bejson.com/)如下: { & ...
- jQuery EasyUI:根据数据库内容生成适合于easyui-tree的JSON数据格式
1,jQuery EasyUI中easyui-tree特定的JSON数据格式 [ {"id":1,"text":"某公司","ch ...
- iOS 阶段学习第22天笔记(JSON数据格式介绍)
iOS学习(OC语言)知识点整理 一.JSON数据格式 1)概念:json是一种网络数据传输格式,有值/对象:{“A”:1,”B”:”2”…}词典:对象的序列:[,,,,,]数组两种数据类型 2)UR ...
- JS中将JSON的字符串解析成JSON数据格式《转》
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...
- JSON 数据格式
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易 ...
- JSON数据格式
JSON 数据格式 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人 ...
- MVC返回JSON数据格式书写方式
返回json数据格式,多个返回值加,隔开 [Route("api/users/web")] //如果不加这个路由请这样调用:/api/users/web?schoolname=十五 ...
- VS中快速生成json数据格式对应的实体
JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串字符串 只不过元素会使用特定的符号标注. {} 双 ...
- (转)JSON数据格式和js操作json总结
原:http://niutuku.com/tech/javaScript/273643.shtml JSON数据格式和js操作json总结 来源:niutuku.com | vince ...
随机推荐
- ActiveMQ入门代码
Hello world程序演示: 生产者: package com.mq.helloworld; import javax.jms.Connection; import javax.jms.Conne ...
- jdbc连接oracle语法
public class LangDemo { public static void main(String[] args) throws Exception{ try { //加载驱动 Class. ...
- JVM内存区域配置
堆内存:新域+旧域 设置堆内存初始化大小 java -Xms128m 设置堆内存初始化大小128MB 设置堆内存最大大小 java -Xmx256m 设置堆内存最大256MB 通常将堆内存的初始化大小 ...
- Java 如何正确停止一个线程
自己在做实验性小项目的时候,发现自己遇到一个问题:如何控制线程的"死亡"? 首先,如何开启一个线程呢? 最简单的代码: public class Main { public sta ...
- 【BZOJ 1592】[Usaco2008 Feb]Making the Grade 路面修整 dp优化之转移变状态
我们感性可证离散(不离散没法做),于是我们就有了状态转移的思路(我们只考虑单不减另一个同理),f[i][j]到了第i块高度为j的最小话费,于是我们就可以发现f[i][j]=Min(f[i-1][k]) ...
- 如何设置项目encoding为utf-8
1.鼠标右键点击项目,选择[properties] 2.选择[Resource],在Text file encoding里面选择UTF-8,点击[ok] 大功告成! 木头大哥所发的文章均基于自身实践, ...
- HDU3038:How Many Answers Are Wrong(带权并查集)
How Many Answers Are Wrong Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- springboot与dubbo结合
转:http://www.cnblogs.com/Alandre/p/6490142.html 写的很好! 本文提纲 一.为啥整合 Dubbo 实现 SOA 二.运行 springboot-dubb ...
- linux启动一个web项目时验证码不能出现的问题的解决
解决方法: 在tomcatcatalina.sh中搜索cygwin=false,然后在它的上面加上这句话JAVA_OPTS='-Djava.awt.headless=true' 具体参考如下图片: 然 ...
- VC++使用CImage在内存中Jpeg转换Bmp图片
VC++中Jpeg与Bmp图片格式互转应该是会经常遇到,Jpeg相比Bmp在图片大小上有很大优势. 本文重点介绍使用现有的CImage类在内存中进行转换,不需要保存为文件,也不需要引入第三方库. Li ...