gson 如何在java中将字符串Map转换为JSON字符串?

fzsnzjdm  于 2022-11-06  发布在  Java
关注(0)|答案(1)|浏览(283)

我有一个事实上的问题有关转换字符串Map到字符串json与下面的例子

public class Demo {
    public static void main(String[] args) throws JsonProcessingException {
        String stringRequest = "{A=12, B=23}";
        System.out.println(new Gson().toJson(stringRequest));
    }
}

OUTPUT: "{A\u003d12, B\u003d23}"

Please you help me how can I map this to json string.

jecbmhm3

jecbmhm31#

我们还不清楚问题到底出在哪里,但在示例中,主要的问题是要将String对象序列化为JSON,这就是为什么会得到这样的输出,它不是Map的表示,而是String的表示。
然而,使用该字符串,您可以轻松创建一个Map,然后对其进行序列化。除非您想做一些清理工作,否则这并不是说有任何意义,但无论如何:

// Check first which kind of types are keys & values
// keys are always Strings and here it seems that values can be Integers
Type type = new TypeToken<Map<String, Integer>>(){}.getType();

// Create the actual map from that string
Map<String, Integer> map = getGson().fromJson(stringRequest, type);

// Serialize the map to the console (added pretty printing here)
System.out.println(new Gson().toJson(map));

您可以看到:
{“A”:12,“B”:二十三日}

相关问题