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

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

     

 

转载于:https://www.cnblogs.com/fkissx/p/5751420.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值