Java 将映射转换为JSONObject
实际结果:Java 将映射转换为JSONObject,java,json,Java,Json,实际结果: [{"containerType":"Drive","testAtts":"{"idNbr":"11111111111","name":"ATTTT"}"}] 有人能提出解决方案吗?您想做的只是: [{"containerType":"Drive","testAtts":"{\"idNbr\":\"11111111111\",\"name\":\"ATTTT\"}"}] 而不是 jsonMap.put("testAtts", new JSONObject(testAttMap))
[{"containerType":"Drive","testAtts":"{"idNbr":"11111111111","name":"ATTTT"}"}]
有人能提出解决方案吗?您想做的只是:
[{"containerType":"Drive","testAtts":"{\"idNbr\":\"11111111111\",\"name\":\"ATTTT\"}"}]
而不是
jsonMap.put("testAtts", new JSONObject(testAttMap));
斜杠之所以存在,是因为您要转义双引号您要做的只是:
[{"containerType":"Drive","testAtts":"{\"idNbr\":\"11111111111\",\"name\":\"ATTTT\"}"}]
而不是
jsonMap.put("testAtts", new JSONObject(testAttMap));
斜杠之所以存在,是因为您要转义双引号
jsonMap.put(“testAtts”,新的JSONObject(testAttMap.toString())代码>-您正在显式地将对象转换为字符串,我不清楚为什么会出现意外的输出。使用字符串、对象映射并简单地将testAtts
键指定给另一个映射的值?可能重复jsonMap.put(“testAtts”,新的JSONObject(testAttMap.toString())代码>-您正在显式地将对象转换为字符串
,我不清楚为什么会出现意外的输出。使用字符串、对象映射并简单地将testAtts
键指定给另一个映射的值?可能重复您所说的内容,为什么会使用字符串值失败字符串值不会失败(它不会出错,只是有一个不是OP想要的结果),但您建议的是一个JSONObject
值。您真的尝试过这个吗?jsonMap
被声明为HashMap jsonMap
,这可能就是OP调用toString()的原因
在它上面。我不知道为什么它被否决。删除toString
调用是正确的一步。需要的另一步是将jsonMap
的类型更改为可以存储为值字符串和其他对象的类型,所以我想到了Map
(因为我们不想使用原始类型)。因为您可能正在查看内部对象testAttMap
,而不是外部对象jsonMap
,后者也是HashMap
,但您仍试图将JSONObject
值放入其中?这就是类型的工作方式。不确定您在说什么,为什么它会因字符串值而失败带有字符串值的il(它不会出错,只是有一个不是OP想要的结果),但您建议的是一个JSONObject
值。您确实尝试过吗?jsonMap
声明为HashMap jsonMap
,这可能是OP调用toString()的原因
在它上面。我不知道为什么它被否决。删除toString
调用是正确的一步。需要的另一步是将jsonMap
的类型更改为可以存储为值字符串和其他对象的类型,所以我想到了Map
(因为我们不想使用原始类型)。因为您可能看到的是内部对象testAttMap
,而不是外部对象jsonMap
,后者也是HashMap
,但您仍试图将JSONObject
值放入其中?这就是类型的工作方式。