二、Json对象、Json数组和Json字符串

一、Json字符串和Json对象定义:

本文中的示例采用的是:fastjson。

1、定义:

  • JSON就是一串字符串 只不过元素会使用特定的符号标注;
  • JSONObject是一个{}包裹起来的一个对象(Object),{} 双括号表示对象;
  • JSONArray则是[]包裹起来的一个数组(Array),[] 中括号表示数组;

2、Json字符串:

所谓字符串:单引号或者双引号引起来,是一个String类型的字符串:如下:

var person='{"name":"shily","sex":"女","age":"23"}';//json字符串
console.log(person)
console.log(person.name)
console.log(typeof person)

二、Json对象、Json数组和Json字符串_第1张图片
 
 

3、Json对象:

最显著的特征:对象的值可以用 “对象.属性” 进行访问,如下:

var person={"name":"shily","sex":"女","age":"23"}//json对象
console.log(person);
console.log(person.name);
console.log(typeof person);

二、Json对象、Json数组和Json字符串_第2张图片

 
 

4、Json数组:

{"name": "Michael"} 可以理解为是一个json对象
而
[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的json数组

 
 

二、Json对象与Json字符串的相互转化:

  • 在js中能够定义json对象和json字符串;
  • 在java中只能定义json字符串,不能直接定义json对象,但是可以通过转换,将json串转换为json对象。

1、在前端js中的方式:

  • Json字符串转化为Json对象:
var  str = '{"name":"shily","sex":"女","age":"23"}';
var  strToObj = JSON.parse(str);
console.log(strToObj);
console.log(typeof strToObj);
console.log(strToObj.name)
  • Json对象转化为Json字符串:
var  obj = {"name":"shily","sex":"女","age":"23"}//json对象
var  objToStr = JSON.stringify(obj);
console.log(objToStr);
console.log(typeof objToStr)

 
 

2、在后端java代码中的方式:

  • JSON 字符串 转 JSONObject 对象:
public static void main(String[] args) {
        //Json字符串转换为Json对象
        String jsonStr = "{\"addr\":\"北京\",\"sex\":\"男\",\"name\":\"张三\",\"age\":22}";
        JSONObject jsonObject = JSONObject.parseObject(jsonStr);
        System.out.println(jsonObject.getString("name")+","+jsonObject.getString("age"));
}

输出结果:

张三,22

 

  • JSONObject 转 JSON 字符串:
public static void main(String[] args) {
        //Json对象转换为Json字符串
        JSONObject jsonObject=new JSONObject();
        jsonObject.put("name","张三");
        jsonObject.put("age",22);
        jsonObject.put("sex","男");
        jsonObject.put("addr","北京");
        String str = JSONObject.toJSONString(jsonObject);
        System.out.println(str);
}

输出结果:

{"sex":"男","name":"张三","addr":"北京","age":22}

你可能感兴趣的:(java基础,json)