二、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)

在这里插入图片描述
 
 

3、Json对象:

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

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

在这里插入图片描述

 
 

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}
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值