JSON小巧轻便的交换文本
作者:互联网
json
W3school
JSON 是存储和交换文本信息的语法
比xml更小,更方便
语法:
1.基本规则
数据在名称/值对中:由键值对构成。
*键用引号引起来,也可以不使用引号;
*值的取值类型:数字(整数或浮点数)
a.字符串(在双引号中)
b.逻辑值(true 或 false)
c.数组(在方括号中)如:{“persons”:[{},{}]}
d.对象(在花括号中)如:{“address”:{“province”:“陕西”…}}
e.null
数据由逗号分隔:多个键值对由逗号分隔
花括号保存对象:使用{}定义json格式
方括号保存数组
2.获取数据
*使用json对象.键名
*json对象[“键名”]
*数组对象[]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>json数据</title>
<script>
//1.定义基本格式
var person ={"name":"张三","age":23,"gender":true};
//alert(person)
// for(var key in person){
// alert(key+":"+person[key]);
// }
//嵌套格式: 数组[]---->{}Json对象里面有数组
var persons= {"psersons":[{"name":"张三","age":23,"gender":true},
{"name":"李四","age":24,"gender":true},
{"name":"王五","age":21,"gender":true}]};
//alert(persons);
//嵌套格式{}-->[]本身就是数组,里面存放json对象
var ps=[{"name":"张三","age":23,"gender":true},
{"name":"李四","age":24,"gender":true},
{"name":"王五","age":21,"gender":true}];
//alert(ps);
for(var i=0;i<ps.length;i++){
var p =ps[i];
for(var key in p){
alert(key+":"+p[key]);
}
}
</script>
</head>
<body>
</body>
</html>
Json当做数据的载体,转换为java对象(可以转换为任何对象)
1.java转换成JSON
json解析器:jsonlab,Gson,fastjson,jsckson(springmvc)
.使用步骤:
*导入jackson的相关jar包
*创键jackson核心对象ObjectMapper
*调用ObjectMapper的WriteValue方法来进行转换
2.JSON 转换为 java
readvalue(json,class对象)
package JSON.test;
import JSON.domain.Person;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;
import java.io.FileWriter;
import java.io.IOException;
public class Jackson {
//java对象转为JSON字符串1.字符串2.键:数组3 数组
@Test
public void test1() throws IOException {
//1.创建几个Person对象
Person p =new Person();
p.setName("张山");
p.setAge(23);
p.setGender("男");
//2.创建Jackson的核心对象 ObjectMapper
ObjectMapper mapper =new ObjectMapper();
//3.转换
/**
* 转换方法:
* writevalue (参数1,obj):
* 参数1:
* File:将obj对象转换成JSON字符串,并保存到指定文件中
* Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
* OutputStream;将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
* writeValueAsString(obj):将对象转换为json
*/
String json = mapper.writeValueAsString(p);
//System.out.println(json);
mapper.writeValue(new FileWriter("/Users/chenwangxin/Desktop/a.txt"),p);
}
@Test
public void test2() throws IOException {
//1.初始化JSON字符串
String json ="{\"name\":\"张三\",\"age\":23,\"gender\":true}";
//2.创建objectMapper
ObjectMapper ob =new ObjectMapper();
//3.调用readValue()
Person person=ob.readValue(json,Person.class);
System.out.println(person);
}
}
标签:name,小巧,gender,json,对象,JSON,文本,true 来源: https://blog.csdn.net/qq_42762824/article/details/110443100