java json 转换为对象-(知识点)JSON对象的转换前端用法
发布时间:2023-06-11 07:06 浏览次数:次 作者:佚名
一、本质
JSON是一种数据交换格式。
常说的JSON格式的字符串 ==> 发送和接收时都只是一个字符串,它遵循JSON这种格式。
二、JSON的两种基本结构 对象结构
在JSON中表示为 { } 括起来的内容。k-v的键值对结构java json 转换为对象,value的数据类型可以是数字、字符串、布尔值、null、数组、对象六种类型。
{"key1":"value1","key2":"value2"}
数组结构
在JSON中表示为 [ ] 括起来的内容。数据类型可以是数字、字符串、布尔值、null、数组、对象六种类型。
["java",30,true,null,...]
复杂结构:对象和数组的组合形式
[{"key1":"value1"},{"key2":"value2"},[1,2,3]...]
三、语法注意事项 属性名必须使用双引号包裹。字符串类型必须使用双引号。JSON最外层必须是对象或者数组格式。不能使用undefined或者函数作为JSON的值。 四、JSON对象的转换
前端用法:
JSON转为JS对象:JSON.parse(字符串);
var obj=JSON.parse('{"a":"hello","b":"world"}') //{a:'hello',b:'world'}
JS对象转为JSON:JSON.stringfy(JSON);
var json = JSON.stringfy({a:'hello',b:'world'}); //'{"a":"hello","b":"world"}'
后端用法:
String 转为JSON:JSON.parseObject(String)
String s ="[\"1578999474151800834\",\"238\"]"; String json = "{\"age\":18,\"id\":\"12345\",\"name\":\"mark\"}"; JSONObject jsonObject = JSON.parseObject(json); System.out.println("jsonObject="+jsonObject); // jsonObject={"name":"mark","id":"12345","age":18}
取出Json中的数组:JSONObject.getJSONArray("key")
String jsonArray = "{\"age\":18,\"id\":\"12345\",\"name\":\"mark\", \"grade\":[102,115,120,90,80]}"; JSONArray grade = JSON.parseObject(jsonArray).getJSONArray("grade"); System.out.println("grade="+grade); // grade=[102,115,120,90,80]
将一个json转换JavaBean:JSON.parseObject(jsonString, Student.class)
1、JavaBean Student student = JSON.parseObject(jsonString, Student.class); 2、ListLsit listPerson = JSON.parseArray(jsonString, Student.class); 3、Map Map studentMap = JSON.parseObject(jsonString, TypeReference
Map是一个对象java json 转换为对象,JSON外面需要一个大括号。多个
String jsonString = "[{\"1\":{\"age\":18,\"id\":\"12345\",\"name\":\"mark\"}, \"2\":{\"age\":19,\"id\":\"11111\",\"name\":\"markt\"}}]"; MapstudentMap = JSON.parseObject(jsonString, new TypeReference >(){}); System.out.println(studentMap); // {"1":{"name":"mark","id":"12345","age":18},"2":{"name":"markt","id":"11111","age":19}} System.out.println(studentMap.get("1")); // {"name":"mark","id":"12345","age":18} System.out.println(studentMap.get("2")); // {"name":"markt","id":"11111","age":19}