Java 将HashMap解析为Json

Java 将HashMap解析为Json,java,json,jackson,gson,Java,Json,Jackson,Gson,以下是我试图解析的哈希映射: HashMap map = new HashMap(); map.put("bowser", "b=mozilla"); map.put("car", "car=Ford"); map.put("model","model=Mustang"); map.put("Year", 2014); map.put("dealer", "Dealer=AKHI"); 首先我试过格森,然后是杰克逊,但他们都有一个共同的问题。, 它们将“=”解析为“\u003d” 我得

以下是我试图解析的哈希映射:

HashMap map = new HashMap();  
map.put("bowser", "b=mozilla");  
map.put("car", "car=Ford");
map.put("model","model=Mustang");
map.put("Year", 2014);
map.put("dealer", "Dealer=AKHI");
首先我试过格森,然后是杰克逊,但他们都有一个共同的问题。, 它们将“=”解析为“\u003d”

我得到的结果是:

---------------------解析后的哈希图------------------------------:{“经销商”:“经销商”\u003dAKHI,“汽车”:“汽车”\u003dFord,“年份”;“2014年”;“车型”:“车型”\u003dMustang;“bowser”:“b\u003dmozilla”}


我浏览了一些其他的博客,发现API中有一个小问题,但是我们是否可以用其他方法来解决这个问题。

符号被编码为
\u003d
。因此,您需要使用
disableHtmlEscaping()

你可以用

 Gson gson = new GsonBuilder().disableHtmlEscaping().create();

纯粹出于兴趣,将“=”字符转义为“\=”行吗?@Gorb无法理解您的意思是什么?转义值,即使用反斜杠(Java中的转义字符)也可以修复此行为吗?Gson Gson=new GsonBuilder().disableHtmlEscaping().create();这对我来说很好,我也能解析=符号。谢谢Nikswlc@Akhilendra。如果解决方案有效,请选择正确答案您使用的是哪个版本的库?我使用的是
Jackson
2.2.2,它将其正确地序列化:
{“经销商”:“经销商=AKHI”,“汽车”:“汽车=Ford”,“年份”:2014,“车型”:“车型=Mustang”,“bowser”:“b=mozilla”}
。在这里我使用了Gson,但我也使用了Jackson,但我对术语有类似的问题:不,你不是“解析”:这意味着阅读JSON内容,生产其他东西。您正在尝试创建JSON:从映射中生成或写入JSON。除此之外,你还在乎什么?JSON生成器允许以任何方式使用转义,您得到的输出是您所提供输入的合法和准确的表示。即使在GSON的情况下,严格来说也没有必要使用该转义。
 Gson gson = new GsonBuilder().disableHtmlEscaping().create();