其他分享
首页 > 其他分享> > JSON小巧轻便的交换文本

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