Json格式

一、什么是Json格式?

先直接上代码,直观感受一下:(该例子来自WikiPedia)

{
  "firstName": "John",
  "lastName": "Smith",
  "isAlive": true,
  "age": 27,
  "address": {
    "streetAddress": "21 2nd Street",
    "city": "New York",
    "state": "NY",
    "postalCode": "10021-3100"
  },
  "phoneNumbers": [
    {
      "type": "home",
      "number": "212 555-1234"
    },
    {
      "type": "office",
      "number": "646 555-4567"
    }
  ],
  "children": [
      "Catherine",
      "Thomas",
      "Trevor"
  ],
  "spouse": null
}

上述代码就是用Json格式来描述一个人,这个人有姓名、年龄、电话地址、手机号码等等信息。

二、Json介绍

  • Json (JavaScript Object Notation) 是一种数据格式,而非编程语言。这就意味着,不论是Java语言编写的程序,还是C语言,还是其他,他们的Json数据都是一样的。(都是这种格式)
  • Json格式方便人阅读,也便于计算机解析。
  • Json是一种轻量级的数据交换格式,可用于客户端与服务器端的数据交换。

三、Json语法

  • Json格式是键值对形式,如 "lastName" : "smith" 就是键/值的形式。键都是字符串的形式,要用双引号括起来。值可以是Boolean、String (要用双引号括起来)、Number、数组、还可以是null。
  • 花括号{}代表对象,中括号[]代表数组。
  • 数组中可以放常规值(上面的children),还可以嵌套对象(上面的phoneNumbers)。
  • 每个键值对后面都要写逗号,除了最后一个(花括号{}和中括号[]中的最后一个键值对都不写)。

以上语法在一开始的代码中都有体现,请对照理解。

四、Json与Java对象的关系

上述例子中的Json格式数据,要是想用Java的面向对象思想表示,那就是:(只列举lastName、isAlive和age三个值)

class Person{
    public String lastName;
    public Boolean isAlive;
    public Int age;
}

main{
    Person person = new Person();
    person.lastName = "smith";
    person.isAlive = true;
    person.age = 20;
}

以上就简单的说明了Json数据格式和Java对象的联系。

因为服务器端返回的是Json数据格式,因此在Java程序中,我们发送网络请求Get数据后,经常要解析 Json格式数据---转换成--->Java对象。同理,我们向服务器端提交数据POST时,也要将Java对象---转换成--->Json格式数据。

这就涉及到他们俩之间的转换,有很多优秀的库解决了这个问题,这些内容,有空再下面再补齐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m1m-FG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值