1. 程式人生 > 其它 >object與map與json之間的相互轉換

object與map與json之間的相互轉換

1、jar

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.70</version>
    <exclusions>
        <exclusion>
            <groupId>*</groupId>
            <artifactId>*</artifactId>
</exclusion> </exclusions> </dependency>

2、實體類

//按順序解析JSON.toJSONString
/*
第一種:通過在實體類新增@JSONType(orders={"name","age","gender","height","weight"})
第二種:在屬性上新增@JSONField(ordinal = 1)
 */
@JSONType(orders={"userName","passWord"})
public class User {
    private String userName;
    
private String passWord;

一、Object與Json之間的相互轉換

@Test
    public void test1(){
        //1、Java物件轉化為json字串
        User user = new User("胡胡", "123");
        String userJson = JSON.toJSONString(user);

        System.out.println("Java物件轉化為json字串" + userJson);

        //2、json字串轉化為Java物件
        String jsonString1 = "{\"passWord\":\"123\",\"userName\":\"胡胡\"}";
        String jsonString2 
= "{'passWord':'123','userName':'胡胡'}"; User userObject = JSON.parseObject(jsonString1, User.class); System.out.println("json字串轉化為Java物件" + userObject); }

二、Map與Json之間的相互轉換

    @Test
    public void test2(){
        //1、map物件轉為json字串
        HashMap<String, String> map = new HashMap<>();
        map.put("胡胡","123");
        map.put("胡胡胡","1234");
        String jsonString = JSONObject.toJSONString(map);
        System.out.println("map物件轉為json字串"+jsonString);

        //2、json字串轉為map物件
        String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}";
        Map mapTypes = JSON.parseObject(str);
        Map<Integer,String> mmap = new HashMap<Integer,String>();
        for (Object obj : mapTypes.keySet()){
            mmap.put(Integer.parseInt((String)obj), (String) mapTypes.get(obj));
        }
        System.out.println("json字串轉為map物件"+mmap);
    }