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数据的工具基本都罗列了

     

最新文章

  1. [iOS] 为文本加上横线方法
  2. selenium grid解决多台电脑进行并发执行测试脚本
  3. STL模板之_map,stack(计算矩阵相乘的次数)
  4. 如何解决PC端和移动端自适应问题?
  5. 阿里BCG重磅报告《人工智能,未来致胜之道》
  6. jQuery对象和DOM对象原来不一样啊
  7. 让操作javascript对象数组像.net lamda表达式一样
  8. RabbitMQ消息队列(三):任务分发机制
  9. js中 && 与 || 的妙用
  10. CJOJ 免费航班
  11. 使用springmvc时静态的文件获取不到,比如说样式丢失的问题。
  12. 爬取拉勾网招聘信息并使用xlwt存入Excel
  13. 设置和取消git代理
  14. Vue语法学习第一课——插值
  15. MySQL 优化小技巧
  16. WIN10 常用bug解决办法
  17. LinQ to sql 各种数据库查询方法
  18. (原)torch,caffe,python中读入数据的默认范围
  19. ajax 传递数组给后台.net MVC 控制器
  20. scrollview的总结

热门文章

  1. MySQL密码忘了怎么办
  2. elasticsearch-1.7.1 (es Windows 64)
  3. [NOIP2018 TG D1T3]赛道修建
  4. C++——拷贝构造函数说明
  5. win10 update orchestratorservere禁用
  6. Cannot resolve symbol ‘Component’ & Cannot resolve symbol ‘PropTypes’
  7. PowerMock
  8. Unable to start activity ComponentInfo{com.example.administrator.myapplication/com.example.administrator.myapplication.MainActivity}: android.view.InflateException: Binary XML file line #0: Binary XM
  9. js 日期获去及格式化
  10. linux 学习好资源