32-Java中json字符串、json对象、map之间的互相转换

json字符串、json对象和map之间的区别

json对象和json字符串的区别 https://www.cnblogs.com/agansj/p/9053547.html(备注:这个博客比较好,可以简单看一下,支持原创)

json字符串:javascript中的字符串是单引号或者双引号引起来的

String jsonString = "[{\"name\":\"张三\",\"age\":23},{\"name\":\"李四\",\"age\":24}]";

json对象:json对象是一个对象

JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "张三");
jsonObject.put("age", 23);
System.out.println(jsonObject); // {"age":23,"name":"张三"}
System.out.println(jsonObject.get("name") + "\t" + jsonObject.get("age")); // 张三    23

map:map是一种双列集合,一个元素包含两个值,一个是Key,一个是Value

Map<String,String> map = new HashMap<>();
map.put("name", "张三");
map.put("age", "23");
System.out.println(map); // {name=张三, age=23}
System.out.println(map.get("name") + "\t" + map.get("age")); // 张三    23

 

Java中json字符串、json对象、map之间的互相转换

1. map 转 String、jsonObject对象

package map;

import java.util.HashMap;
import java.util.Objects;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

public class MapDemo3 {
    public static void main(String[] args){

        HashMap<String, Object> map = new HashMap<>();

        map.put("name", "马铃薯");
        map.put("age", 28);
        System.out.println(map);

        // 1.map转string
        System.out.println("\n======================map转string对象======================");
        String jsonString = JSON.toJSONString(map);
        System.out.println(jsonString);

        // 2.map转jsonObject
        System.out.println("\n======================map转jsonObject对象======================");
        JSONObject jsonObj = JSONObject.parseObject(JSON.toJSONString(map));
        System.out.println(jsonObj);
        // public Object get(Object key):根据指定的键,获取对应的值
        System.out.println(jsonObj.get("name") + "\t" + jsonObj.get("age"));
    }
}

 

2. String 转 map、jsonObject对象

package map;

import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;

public class MapDemo4 {
    public static void main(String[] args){

        String jsonString = "{\"name\":\"马铃薯\",\"age\":\"28\"}";
        System.out.println(jsonString);

        // 3.String转jsonObject对象
        System.out.println("\n======================String转jsonObject对象======================");
        JSONObject parseObject = JSONObject.parseObject(jsonString);
        System.out.println(parseObject);

        // 4.String转map对象
        System.out.println("\n======================String转map对象======================");
        HashMap<String, String> map = JSONObject.parseObject(jsonString, HashMap.class);
        map.put("department", "研发部");
        System.out.println(map);
    }
}

 

3.  jsonObject转 map、String 对象

package map;

import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;

public class MapDemo5 {
    public static void main(String[] args){

        String jsonString = "{\"name\":\"马铃薯\",\"age\":\"28\"}";
        JSONObject  jsonObject = JSONObject.parseObject(jsonString);
        System.out.println(jsonObject);

        // 3.jsonObject转String对象
        System.out.println("\n======================jsonObject转String对象======================");
        String jsonString2 = jsonObject.toJSONString();
        System.out.println(jsonString2);

        // 4.jsonObject转map对象
        System.out.println("\n======================jsonObject转map对象======================");
        HashMap<String, String> map = JSONObject.parseObject(jsonObject.toJSONString(), HashMap.class);
        map.put("department", "研发部");
        System.out.println(map);
    }
}

 

5. 数组对象的json格式转list集合

package map;

import com.alibaba.fastjson.JSON;

import java.util.List;

public class MapDemo6 {
    public static void main(String[] args){

        // 5.数组对象的json格式转list集合
        System.out.println("======================数组对象的json格式转list======================");
        String jsonString = "[{\"name\":\"张三\",\"age\":23},{\"name\":\"李四\",\"age\":24}]";
        System.out.println(jsonString);


        // JSON.parseArray(String text, Class<T> clazz):把JSON文本parse成JavaBean集合
        List<Person> list = JSON.parseArray(jsonString, Person.class);
        for(Person p : list){
            System.out.println(p.getName() + "\t" + p.getAge());
        }
        
    }
}

class Person{
    private String name;
    private int age;

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

 

 

Fastjson简介

Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。

Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景

 

Fastjson包的引入方式

1)maven 引入

<dependency>

    <groupId>com.alibaba</groupId>

    <artifactId>fastjson</artifactId>

    <version>1.2.51</version>

</dependency>

2)本地 jar包引入

下载网址:Maven Repository: com.alibaba » fastjson (mvnrepository.com)

更详细的fastjson的详细API参考了这篇文章:阿里巴巴fastjson下载_com.alibaba.fastjson 下载-CSDN博客

选择版本

 进入对应版本的github官网

 选择标准版的jar包进行下载

 

 

 

在IDEA中导入刚刚下载的jar包

1)在项目路径,创建lib目录,将jar包复制进去

 2)在 File 下找到 Project Structure

3)在左侧Modules选项中,进行添加操作(选择JARs or Directories),将刚刚的jar包添加进去

 

4)显示以下状态,则代表jar包添加成功

 

Fastjson包的导入

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

 

posted @ 2024-02-05 17:17  马铃薯1  阅读(1793)  评论(0编辑  收藏  举报