JSON使用

本文介绍了JSON作为轻量级的数据交换格式,其基本语法包括键/值对和值的类型。详细阐述了JSON的语法规则,如数据在键/值对中,用逗号分隔,大括号和中括号表示对象和数组。同时,讨论了在JavaScript中创建JSON对象的方法,并提及了前后端JSON格式转换,包括JavaScript对象与JSON字符串的相互转换以及Java对象与JSON的转换,涉及到的工具如FastJson和GSon。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSON简介

  • JSON: JavaScript Object Notation(JavaScript 对象表示法);轻量级数据交换格式、非常适合于服务器与 JavaScript 的交互。
  • JSON就是不同系统之间、前后端之间、不同语言之间进行数据交互所遵守的一种数据的格式。

JSON语法

1、JSON语法规则

JSON 语法是 JavaScript 对象表示法语法的子集。

  • 数据在键/值对中
  • 数据由逗号分隔
  • 大括号保存对象
  • 中括号保存数组

json格式:

  • 对象和Map 转换成 {key:value , key:value,...}
  • 数组和集合转换成[e1,e2,e3,...]
  • JSON格式可以嵌套

2、JSON 键/值对

JSON 数据的书写格式是:键/值对。
键/值对:包括字段名称(在双引号中),后面写一个冒号,然后是值:
{“name” : “value-ityg”}
这很容易理解,等价于这条 JavaScript 语句:
name = “value-ityg”

2、JSON 值

JSON 的值可以是:

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在中括号中)
  • 对象(在大括号中)
  • null

在javascript语言中怎么创建一个json对象呢?语法是什么?
var jsonObj = {
“属性名1” : 属性值,
“属性名2” : 属性值,
“属性名3” : 属性值,
};
注意:属性名必须是字符串

JSON格式转换

前端JS对象与JSON格式转换
  • JS对象转换成JSON格式字符串
//创建JS对象
var obj = {stuNum:"10001",stuName:"张三"};
obj.stuGender = "男";
//将JS对象转换成json格式字符串
var jsonStr = JSON.stringify(obj);
  • 将JSON格式字符串转换成JS对象
//方式一:注意这个方法需要在两边加上一个小括号
var obj2 =  eval("("+jsonStr+")");
//方式二
var jsonObj = JSON.parse(jsonStr);
后端Java对象与JSON格式转换

需使用JSON工具:FASTJson、GSon 、JackSon

  • 使用FastJson:
//创建一个User对象
User libai = new User("李白", 10000, "喝酒");

// 将以上的User对象转换成json格式的字符串
// 使用阿里巴巴的fastjson组件中的JSON类即可,调用toJSONString(Object obj)方式。
String jsonStr = JSON.toJSONString(libai);

// List集合是否可以转换成数组
ArrayList<User> users = new ArrayList<>();
User hanxin = new User("韩信", 1434, "刷枪");
users.add(libai);
users.add(hanxin);
String jsonStr2 = JSON.toJSONString(users);
//把获取的数据,通过网络传给ajax中的异步对象,响应结果数据
//指定服务器端(servlet)返回给浏览器的是json格式的数据,json数据使用utf-8编码的
response.setContentType("application/json;charset=utf-8");
response.getWriter().println(jsonStr2);//输出数据---会付给ajax中 responseText属性
  • 使用GSon:
//将json格式字符串转换成Java对象
//要求:json格式的字符串中的key 要和目标Java对象属性一致
Gson gson = new Gson();
Student student = gson.fromJson(str, Student.class);
//将Java对象转换成JSON格式 
Student stu2 = new Student("10006","Lucy","女");
String jsonStr = gson.toJson(stu2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值