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

二、Json对象、Json数组和Json字符串一 Json 字符串和 Json 对象定义 本文中的示例采用的是 fastjson 1 定义 JSON 就是一串字符串 只不过元素会使用特定的符号标注 JSONObject 是一个 包裹起来的一个对象 Object 双括号表示对象

大家好,我是讯享网,很高兴认识大家。

一、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} 
小讯
上一篇 2025-01-11 17:39
下一篇 2025-03-03 14:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/13676.html