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")

          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.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数据格式了解的更多相关文章

  1. XML和JSON数据格式对比

    概念 XML 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语 ...

  2. VS快速生成JSON数据格式对应的实体

          有固定好的Json数据格式,你还在手动敲对应的实体吗?有点low了!步入正题,这是一个json字符串,先去验证JSON数据格式(http://www.bejson.com/)如下: { & ...

  3. jQuery EasyUI:根据数据库内容生成适合于easyui-tree的JSON数据格式

    1,jQuery EasyUI中easyui-tree特定的JSON数据格式 [ {"id":1,"text":"某公司","ch ...

  4. iOS 阶段学习第22天笔记(JSON数据格式介绍)

    iOS学习(OC语言)知识点整理 一.JSON数据格式 1)概念:json是一种网络数据传输格式,有值/对象:{“A”:1,”B”:”2”…}词典:对象的序列:[,,,,,]数组两种数据类型 2)UR ...

  5. JS中将JSON的字符串解析成JSON数据格式《转》

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...

  6. JSON 数据格式

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易 ...

  7. JSON数据格式

    JSON 数据格式 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人 ...

  8. MVC返回JSON数据格式书写方式

    返回json数据格式,多个返回值加,隔开 [Route("api/users/web")] //如果不加这个路由请这样调用:/api/users/web?schoolname=十五 ...

  9. VS中快速生成json数据格式对应的实体

    JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串字符串 只不过元素会使用特定的符号标注. {} 双 ...

  10. (转)JSON数据格式和js操作json总结

    原:http://niutuku.com/tech/javaScript/273643.shtml JSON数据格式和js操作json总结 来源:niutuku.com |         vince ...

随机推荐

  1. ActiveMQ入门代码

    Hello world程序演示: 生产者: package com.mq.helloworld; import javax.jms.Connection; import javax.jms.Conne ...

  2. jdbc连接oracle语法

    public class LangDemo { public static void main(String[] args) throws Exception{ try { //加载驱动 Class. ...

  3. JVM内存区域配置

    堆内存:新域+旧域 设置堆内存初始化大小 java -Xms128m 设置堆内存初始化大小128MB 设置堆内存最大大小 java -Xmx256m 设置堆内存最大256MB 通常将堆内存的初始化大小 ...

  4. Java 如何正确停止一个线程

    自己在做实验性小项目的时候,发现自己遇到一个问题:如何控制线程的"死亡"? 首先,如何开启一个线程呢? 最简单的代码: public class Main { public sta ...

  5. 【BZOJ 1592】[Usaco2008 Feb]Making the Grade 路面修整 dp优化之转移变状态

    我们感性可证离散(不离散没法做),于是我们就有了状态转移的思路(我们只考虑单不减另一个同理),f[i][j]到了第i块高度为j的最小话费,于是我们就可以发现f[i][j]=Min(f[i-1][k]) ...

  6. 如何设置项目encoding为utf-8

    1.鼠标右键点击项目,选择[properties] 2.选择[Resource],在Text file encoding里面选择UTF-8,点击[ok] 大功告成! 木头大哥所发的文章均基于自身实践, ...

  7. HDU3038:How Many Answers Are Wrong(带权并查集)

    How Many Answers Are Wrong Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  8. springboot与dubbo结合

    转:http://www.cnblogs.com/Alandre/p/6490142.html  写的很好! 本文提纲 一.为啥整合 Dubbo 实现 SOA 二.运行 springboot-dubb ...

  9. linux启动一个web项目时验证码不能出现的问题的解决

    解决方法: 在tomcatcatalina.sh中搜索cygwin=false,然后在它的上面加上这句话JAVA_OPTS='-Djava.awt.headless=true' 具体参考如下图片: 然 ...

  10. VC++使用CImage在内存中Jpeg转换Bmp图片

    VC++中Jpeg与Bmp图片格式互转应该是会经常遇到,Jpeg相比Bmp在图片大小上有很大优势. 本文重点介绍使用现有的CImage类在内存中进行转换,不需要保存为文件,也不需要引入第三方库. Li ...