JSON字符串的使用

一、JSON和JS字符串的区别

首先JSON对象的数据格式满足三个条件

1、花括号{}

2、数据以键:值的形式出现 (键大多是字符串如"ID",值可以是很多例如字符串,数值,甚至JSON对象)

例如

{

"ID":111,

"sex":"女"

"JSON对象":{"姓名":"Hansey","性别":"男"}

}

JS字符串和和JSON字符串区别就是JS字符串使用单引号或者双引号引起来

例如

var JsString = "{

"ID":111,

"sex":"女"

"JSON对象":{"姓名":"Hansey","性别":"男"}

}"

单引号类似

二、JSON对象和JS字符串之间的转换

JSON对象转JS字符串  JSON.parse(JSON对象) 前端使用

JS字符串转JSON对象  JSON.stringify(JS字符串)  例如利用layui时获取表格中的数据

var js = table.cache.表名 (例如 var userinfo = table.cache.user)

以json格式传到后台

$.ajax({

url: XXXXX,

data: {'users': JSON.stringify(userinfo)},
dataTye: "json",//期待服务器传回的的格式
contentType: 'application/json'//传给服务器的格式

})

ps:另外在使用ajax提交表单时 可以先序列化再提交 例如

将表单数据序列化 一般就是将表单数据序列化就是转化为a=1&ad=1&wd=123这种形式

一种是 var data1 = $(‘#form1’).serializeObject() 或者是 $(‘#form1’).serialize() 直接加到url中

url: "${ctx${}?" + data1,

三、JSON对象或者String字符串(我理解为JS字符串)传到后台后的处理

JSON对象就直接接收就好 (SpringMVC)以名字接收 或者

string 字符串转list(这里就是用于前台是一串字符串)

String str = "";

List<T> list = JSONObject.parseArray(str,T.class);

List<UserBerif> list = JSONObject.parseArray(str,UserBerif.class)

四、List和JSONArray(com.alibaba.fastjson)转换

List转JSONArray

List<T> list = new ArrayList<>();

JSONArray array = JSONArray.parseArray(JSON.toJSONString(list))

!!!!可以这样子记住 JSON.parse()都是从JSON转为其他的 例如

 

JSONArray转List(这里的List可以对应每一个对象) 这里的array是JSON字符串数组 县这里JSONArray转List也是将JSON转为Sring 然后将其数组化

JSONArray array = new JSONArray();

List<EventColAttr> list = JSONObject.parseArray(array.toJSONString(), EventColAttr.class);

五、JSON和Map可以使用JSONObject(com.alibaba.fastjson)转换

Map<String,String> maps = new HashMap<>();

Maps.put(“”,user.getName);

Maps.put();

//1、JSONObject
        JSONObject mapObject=JSONObject.fromObject(map);
        System.out.println("mapObject"+mapObject.toString());
        
//2、JSONArray
        JSONArray mapArray=JSONArray.fromObject(map);
        System.out.println("mapArray:"+mapArray.toString());

JSON与对象互转可以参考https://www.cnblogs.com/free-dom/p/5801866.html

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值