gpt4 book ai didi

java - 从 json 编码/解码到 java.util.Map 的库?

转载 作者:太空狗 更新时间:2023-10-29 22:48:19 25 4
gpt4 key购买 nike

有谁知道可以轻松地将 java 映射编码为 json 对象的 java 库?

更新

由于无法解释的原因(有时我讨厌),我不能在我的环境中使用泛型。

我想做的是拥有这样的东西:

Map a = new HashMap();
a.put( "name", "Oscar" );

Map b = new HashMap();
b.put( "name", "MyBoss");
a.put( "boss", b ) ;


List list = new ArrayList();
list.add( a );
list.add( b );


String json = toJson( list );
// and create the json:
/*
[
{
"name":"Oscar",
"boss":{
"name":"MyBoss"
}
},
{
"name":"MyBoss"
}
]

*/

并且能够再次将其作为 map 列表

 List aList = ( List ) fromJson( jsonStirng );

最佳答案

您可以使用 Google Gson为了那个原因。它对 Generic types 有很好的支持.

这是一个 SSCCE :

package com.stackoverflow.q2496494;

import java.util.LinkedHashMap;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class Test {

public static void main(String... args) {
Map<String, String> map = new LinkedHashMap<String, String>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
Gson gson = new Gson();

// Serialize.
String json = gson.toJson(map);
System.out.println(json); // {"key1":"value1","key2":"value2","key3":"value3"}

// Deserialize.
Map<String, String> map2 = gson.fromJson(json, new TypeToken<Map<String, String>>() {}.getType());
System.out.println(map2); // {key1=value1, key2=value2, key3=value3}
}

}

关于java - 从 json 编码/解码到 java.util.Map 的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2496494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com