JSON数据格式超全总结

本文介绍了JSON数据格式的基本概念,强调其作为数据交换格式的角色。文中详细讲解了JSON的常用类型,包括对象和数组,并提供了Java中使用FastJson库进行JSON数据解析和转化的方法,如`JSON.parseObject()`和`JSON.toJSONString()`。此外,还展示了如何将JSON字符串转换为对象数组。
摘要由CSDN通过智能技术生成

**

JSON数据格式超全总结**

1.JSON数据格式概念
JSON数据现在是我们开发中用的最多的,百分之九十的数据都是通过JSON方式进行传输,那么JSON是什么呢?
JSON其实是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。基本上所有的编程语言都支持JSON数据格式。说白点,JSON就是一种数据传输格式,而不是一门语言,用来存储数据,进行数据间传输的,打个比方,在前后台的传输过程中,Json字符串是相当常用的,现在前台的数据大多都是用JSON数据格式进行数据传输,想要传输到后端就要进行转换JSON数据转换为后台对象。这就涉及到JSON数据格式和对象实体之间的转换。下面我们将讲解常用的JSON数据转换方式。

2.JSON常用类型
任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型。
对象:对象在 JS 中是使用花括号包裹 {} 起来的内容,数据结构为 {key1:value1, key2:value2, …} 的键值对结构。在面向对象的语言中,key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。
数组:数组在 JS 中是方括号 [] 包裹起来的内容,数据结构为 [“java”, “javascript”, “vb”, …] 的索引结构。在 JS 中,数组是一种比较特殊的数据类型,它也可以像对象那样使用键值对,但还是索引使用得多。同样,值的类型可以是任意类型。

3.三种解析JSON数据的方法
1.JSON.parseArray():这个方法的作用就是将json格式的数据转换成数组格式。
假设有student这个类,json类型数据jsonStr=[{“name”:“张三”,“age”:“18”},{“name”:“李四”,“age”:“16”}],那么List list =json.paseArray(jsonStr,student.class);list就可以接收jsonStr了。
2.JSON.parseObject(String str):是将str转化为相应的JSONobject对象,其中str是"键值对"形式的json字符串,转化为JSONObject对象之后就可以使用其内置额方法,进行各种处理了。
3.JSON.toJSONString:则是将对象转化为Json字符串。在前后台的传输过程中,Json字符串是相当常用的。
具体代碼## 标题实现:

package jsonTest; 
import com.alibaba.fastjson.JSON; 

public class jsonTest {
  public static void main(String[] args) {
    /**
     * json字符串转化为对象
     */
    String jsonString = "{name:'tony',age:'20',sex:'male',telephone:'666666'}";
    student stu = JSON.parseObject(jsonString, student.class);
    System.out.println(stu.toString());
 
    /**
     * 对象转化为json字符串
     */
    String jsonStr = JSON.toJSONString(stu);
    System.out.println(jsonStr);
  }
 /**
     * json字符串转化为数组格式
     */
    List<student> list =json.paseArray(jsonStr,student.class);
    System.out.println(list);
  }
}

JSON.parseObject,是将Json字符串转化为相应的对象;
在Java开发中,经常涉及实体对象和Json字符串之间的转换。通常需要将一个实体对象转换成Json字符串,使用FastJson来实现这种转换十分方便,只要使用FastJson中JSONObject静态类提供的toJSONString()静态方法即可。

使用JSONObject把实体对象转换成Json字符串时,如果实体对象中有些属性的值为null,则默认转换后的Json字符串中是不包含这些值为null的属性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值