JavaWeb JavaScript 4.JS的对象和JSON

37,567次阅读
没有评论

共计 4656 个字符,预计需要花费 12 分钟才能阅读完成。

只要你的风格是适应客观规律的,那你以后会越来越好,做事情会越来越顺利                

                                                                                                                —— 24.8.26

一、JS 创建对象

语法

方式 1 new Object()

方式 2 {属性名:属性值,… …,函数名:function(){}}

方式 3 Object.create()




    
    
    Document
    


    

JavaWeb JavaScript 4.JS 的对象和 JSON

二、JSON 格式

一个特定的字符串语法结构,JSON 格式的字符串, 在 前后端都可以很方便的和对象之间进行转换

JavaWeb JavaScript 4.JS 的对象和 JSON

说明:

        JSON 的 语法:

var personStr = '{" 属性名 ":" 属性值 "}'

                var obj=”{‘ 属性名 ’:’ 属性值 ’,’ 属性名 ’:{‘ 属性名 ’:’ 属性值 ’}’, 属性名 ’:{‘ 值 1 ′,’ 值 2 ′,’ 值 3 ’}”

        JSON 字符串一般用于传递数据, 所以字符串中的函数就显得没有意义, 在此不做研究

        通过 JSON.parse()方法可以将一个 JSON 串转换成对象

        通过 JSON.stringify()方法可以将一个对象转换成一个 JSON 格式的字符串

JSON 在客户端的使用

代码:




    
    
    Document
    


    

JavaWeb JavaScript 4.JS 的对象和 JSON

JSON 在服务端的使用

代码

Dog 类

package JSON;

import java.util.Objects;

public class Dog {
    private String name;

    @Override
    public boolean equals(Object o) {if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Dog dog = (Dog) o;
        return Objects.equals(name, dog.name);
    }

    @Override
    public int hashCode() {return Objects.hashCode(name);
    }

    public Dog() {}

    public Dog(String name) {this.name = name;}

    public String getName() {return name;}

    public void setName(String name) {this.name = name;}
}

Person 类

package JSON;

import java.util.Objects;

public class Person {
    private String name;

    private Integer age;

    private Dog dog;

    public Person() {}

    @Override
    public boolean equals(Object o) {if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        return Objects.equals(name, person.name) && Objects.equals(age, person.age) && Objects.equals(dog, person.dog);
    }

    @Override
    public int hashCode() {return Objects.hash(name, age, dog);
    }

    public Person(String name, Integer age, Dog dog) {
        this.name = name;
        this.age = age;
        this.dog = dog;
    }

    public String getName() {return name;}

    public void setName(String name) {this.name = name;}

    public Integer getAge() {return age;}

    public void setAge(Integer age) {this.age = age;}

    public Dog getDog() {return dog;}

    public void setDog(Dog dog) {this.dog = dog;}
}

测试类

package TestJson;

import JSON.Dog;
import JSON.Person;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;

public class test {

    // 字符串转对象
    @Test
    public void testWriteJson() throws JsonProcessingException {
        // 实例化 Person 对象,将 Person 对象转换为 JSON 串
        Dog dog = new Dog("初一");
        Person person = new Person("张三",13,dog);
        // 将 Person 对象转换成一个字符串 Gson jackson Fastjson 都是转换工具

        ObjectMapper mapper = new ObjectMapper();
        String personStr = mapper.writeValueAsString(person);
        System.out.println(personStr);
    }


    // 对象转字符串
    @Test
    public void testReadJson() throws JsonProcessingException {String personStr = "{"name":" 张三 ","age":13,"dog":{"name":" 初一 "}}";
        ObjectMapper mapper = new ObjectMapper();
        Person person = mapper.readValue(personStr, Person.class);
        System.out.println(person);
    }
}

JavaWeb JavaScript 4.JS 的对象和 JSON

JavaWeb JavaScript 4.JS 的对象和 JSON

三、JSON 和 Map、List、Array 之间的转换

1.map 转 JSON 对象

    // map 转 JSON 对象
    @Test
    public void testMapToJason() throws JsonProcessingException {Map data = new HashMap();
        data.put("a","valuea");
        data.put("b","valueb");
        ObjectMapper mapper = new ObjectMapper();
        String s = mapper.writeValueAsString(data);
        System.out.println(s);
    }

JavaWeb JavaScript 4.JS 的对象和 JSON

2.List 转 JSON 对象

    // List 转 JSON 对象
    @Test
    public void testListToJson() throws JsonProcessingException {List data = new ArrayList();
        data.add("苦");
        data.add("难");
        data.add("是");
        data.add("花");
        data.add("开");
        data.add("的");
        data.add("伏");
        data.add("笔");

        ObjectMapper mapper = new ObjectMapper();
        String s = mapper.writeValueAsString(data);
        System.out.println(s);
    }

JavaWeb JavaScript 4.JS 的对象和 JSON

3.List 转 Array 数组

    // Array 转 JSON 对象
    @Test
    public void testArrayToJson() throws JsonProcessingException {String[] data = {"苦","难","是","花","开","的","伏","笔"};

        ObjectMapper mapper = new ObjectMapper();
        String s = mapper.writeValueAsString(data);
        System.out.println(s);
    }

JavaWeb JavaScript 4.JS 的对象和 JSON

同理,元素也可以是对象

原文地址: JavaWeb JavaScript 4.JS 的对象和 JSON

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-28发表,共计4656字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)