面向JSON编程

JSON

{
   
    "firstName": "John",
    "lastName": "Smith",
    "age": 25,
    "address": {
   
        "streetAddress": "21 2nd Street",
        "city": "New York",
        "state": "NY",
        "postalCode": 10021
    },
    "phoneNumbers": [
        {
   
            "type": "home",
            "number": "212 555-1234"
        },
        {
   
            "type": "fax",
            "number": "646 555-4567" 
        }
    ] 
}

语义
list:其中装的是同一类的东西,可以是数字,字符串,也可以是同类那个的list或者dict
dict:其中装的是不同的东西,但是这些东西本身是相关的,没有顺序性,比如city,street等信息组成了一个addrss
注意事项

  1. 不要将list语义的东西写成dict,如下
[
  12,
  "Hello World",
  {
   
    "name": "bill",
    "age": 10
  }
]

2,不要将dict语义的东西写成list,如下

{
   
   "bill": {
   
     "age": 10,
     "sex": "male"
   },
  "jack": {
   
    "age": 20,
    "sex": "male"
  },
  "lucy": {
   
    "age": 30,
    "sex": "female"
  }
}

Python如何操作JSON

  1. 如果从语言dict和list的角度,由于是动态类型,不需要提前声明,所以,可以非常方便的各种dict,list嵌套
  2. 对于JSON库方面,可以支持将python中dict,list嵌套的数据转为JSON字符串,反之也可以

Java如何操作JSON

  1. 如果从语言Map和List的角度,由于是静态类型,需要提前声明,所以,单从Map和List嵌套的角度来说层数超过2层光声明都非常难看

  2. 对于JSON库方面,所支持的非常多,典型操作有如下两种:
    a):通过库解决类型声明的问题,如下:

    // Java program for write JSON to a file 
    
    import java.io.FileNotFoundException; 
    import java.io.PrintWriter; 
    import java.util.LinkedHashMap; 
    import java.util.Map; 
    import org.json.simple.JSONArray; 
    import 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值