将 JSON 转换为映射

2022-08-31 05:48:02

转换JSON代码的最佳方法是什么,

{ 
    "data" : 
    { 
        "field1" : "value1", 
        "field2" : "value2"
    }
}

在 Java 映射中,其中一个键是 (field1, field2),这些字段的值为 (value1, value2)。

有什么想法吗?我应该使用Json-lib吗?或者如果我编写自己的解析器会更好?


答案 1

我希望你是在开玩笑写自己的解析器。:-)

对于如此简单的映射,http://json.org(java部分)中的大多数工具都可以工作。对于其中之一(杰克逊 https://github.com/FasterXML/jackson-databind/#5-minute-tutorial-streaming-parser-generator),你会这样做:

Map<String,Object> result =
        new ObjectMapper().readValue(JSON_SOURCE, HashMap.class);

(其中JSON_SOURCE是文件、输入流、读取器或 json 内容字符串)


答案 2

使用 GSON 库:

import com.google.gson.Gson;
import com.google.common.reflect.TypeToken;
import java.lang.reclect.Type;

使用以下代码:

Type mapType = new TypeToken<Map<String, Map>>(){}.getType();  
Map<String, String[]> son = new Gson().fromJson(easyString, mapType);