博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON格式转换,String,Array,List,Map
阅读量:6162 次
发布时间:2019-06-21

本文共 2476 字,大约阅读时间需要 8 分钟。

hot3.png

package cn.itcast.caoke.json;

import java.util.ArrayList;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

public class JsonTest {

    public static void main(String[] args) {
        
        Person person = new Person();
        person.setName("caokePerson");
        person.setAge(23);
        // 1.直接放json对象    
        // 直接new JSONObject 对象 ,像map一样赋值
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "caoke");
        System.out.println("----直接放json对象----"+jsonObject.toString());
        // ----直接放json对象----{"name":"caoke"}
        // 2. 对象转换为json    
        //使用 JSONObject的静态对象方法,把对象直接转换为JSONObject
        jsonObject = JSONObject.fromObject(person);
        System.out.println("----对象转换为json----"+jsonObject.toString());
        // ----对象转换为json----{"student":null,"name":"caokePerson","age":23}
        // 3.集合转换json
        // 用JSONArray的静态方法把集合转换为JsonArray
        List<Person> persons = new ArrayList<Person>();
        Person person2 = new Person();
        person2.setName("caokePerson2");
        person2.setAge(23);
        persons.add(person);
        persons.add(person2);
        JSONArray jsonArray = JSONArray.fromObject(persons);
        System.out.println("----集合转换json----"+jsonArray.toString());
        // ----集合转换json----[{"student":null,"name":"caokePerson","age":23},{"student":null,"name":"caokePerson2","age":23}]
        //4.数组转换json
        // 同样用JSONObject 来放数组
        String arr[] = new String[]{"12","34","56"} ;
        JSONObject jsonObjectArr = new JSONObject();
        jsonObjectArr.put("name", arr);
        System.out.println("----数组转换json对象----"+jsonObjectArr.toString());
        //----数组转换json对象----{"name":["12","34","56"]}
        // 5.map 转换json    
        // 可以用JSONObject直接来转换
        Map<String, Person> map = new HashMap<String, Person>();
        map.put("12", person);
        map.put("23", person2);
        JSONObject jsonmap = JSONObject.fromObject(map);
        System.out.println("----map转换json对象----"+jsonmap.toString());
        //----map转换json对象----{"23":{"student":null,"name":"caokePerson2","age":23},"12":{"student":null,"name":"caokePerson","age":23}}
        
        // 试试list 是否可以直接转换    
        // 'object' is an array. Use JSONArray instead  
        // 报错不可使用
//        JSONObject jsonlist = JSONObject.fromObject(persons);
//        System.out.println("----map转换json对象----"+jsonlist.toString());
        // 6.对象中有其他对象的json转换
        Student student = new Student();
        student.setAge(21);
        student.setName("liyong");
        person.setStudent(student);
        JSONObject jsonPerStu = JSONObject.fromObject(person);
        System.out.println("----对象包含对象----"+jsonPerStu.toString());
        // ----对象包含对象----{"student":{"name":"liyong","age":21},"name":"caokePerson","age":23}
    }
}
 

转载于:https://my.oschina.net/u/2272597/blog/738439

你可能感兴趣的文章
MySQL数据类型--与MySQL零距离接触2-11MySQL自动编号
查看>>
生日小助手源码运行的步骤
查看>>
Configuration python CGI in XAMPP in win-7
查看>>
bzoj 5006(洛谷 4547) [THUWC2017]Bipartite 随机二分图——期望DP
查看>>
CF 888E Maximum Subsequence——折半搜索
查看>>
欧几里德算法(辗转相除法)
查看>>
面试题1-----SVM和LR的异同
查看>>
MFC控件的SubclassDlgItem
查看>>
如何避免历史回退到登录页面
查看>>
《图解HTTP》1~53Page Web网络基础 HTTP协议 HTTP报文内的HTTP信息
查看>>
unix环境高级编程-高级IO(2)
查看>>
树莓派是如何免疫 Meltdown 和 Spectre 漏洞的
查看>>
雅虎瓦片地图切片问题
查看>>
HTML 邮件链接,超链接发邮件
查看>>
HDU 5524:Subtrees
查看>>
手机端userAgent
查看>>
pip安装Mysql-python报错EnvironmentError: mysql_config not found
查看>>
http协议组成(请求状态码)
查看>>
怎样成为一个高手观后感
查看>>
[转]VC预处理指令与宏定义的妙用
查看>>