猿问

将字符串解析为哈希图时 GSON 解析错误

我正在尝试使用 Gson 解析字符串


String str = "{key=sample value}";

new Gson().fromJson(str, HashMap.class())

为此,我收到了 JSONSyntax 异常。如果我将字符串更改为“{key=samplevalue}”,它可以正常工作(删除空间)。谁能解释一下。应该怎么做才能让我得到 hashmap 作为“key”=“sample value”


达令说
浏览 100回答 2
2回答

jeck猫

在JSON 规范中,键和值(如果是字符串类型)都必须用双引号引起来。因此,在您的示例中,有效的 JSON 是:{"key":"sample value"}在 Java 中,"应该转义:String str = "{\"key\":\"sample value\"}";

慕沐林林

您的代码无法编译您必须将class()替换为class 有必要改进 JSON 格式 有必要通过添加引号和撇号来改进 JSON 格式String str = "{'key'='sample value'}";HashMap hashMap = new Gson().fromJson(str, HashMap.class);System.out.println(hashMap);  /// ===> {key=sample value}或者String str = "{\"key\":\"sample value\"}";;HashMap hashMap = new Gson().fromJson(str, HashMap.class);System.out.println(hashMap);  /// ===> {key=sample value}现在正在工作https://sites.google.com/site/gson/gson-user-guide#TOC-Using-Gsonhttp://tutorials.jenkov.com/java-json/gson.html#parsing-json-into-java-objects
随时随地看视频慕课网APP

相关分类

Java
我要回答