我有以下几点 Map
:
import java.util.Map;
Map<String, Object> myMap = Map.of(
"key1", "value1",
"key2", Map.of(
"key2-1", "value2-1",
"key2-2", 22
)
));
我试着把这个转换成下面的 String
使用 Gson
:
String expected = // ???
System.out.println(expected);
{\"key1\":\"value1\",\"key2\":{\"key2-1\":\"value2-1\",\"key2-2\":22}}
(请注意,打印时双引号是转义的)。
到目前为止,为了实现这一点,我正在做:
import com.google.gson.Gson;
String myMapAsJsonString = new Gson().toJson(myMap);
String myMapAsJsonStringWithDoubleQuotesEscaped = myMapAsJsonString.replace("\"", "\\\"");
但我很肯定第二行可以被其他东西取代,我只能用它 Gson
为了实现我想要的逃跑?
任何想法都将不胜感激!
1条答案
按热度按时间tmb3ates1#
(感谢@fluffy)
而不是:
我刚刚再次重新序列化了json字符串:
得到了我期望的正确结果:
印刷品: