我正在尝试使用Gson解析字符串
String str = "{key=sample value}";
new Gson().fromJson(str, HashMap.class())
我为此收到了JSONSyntax异常。如果我将字符串更改为“ {key = samplevalue}”,则可以正常工作(已删除空间)。谁能解释一下。应该怎么做才能将哈希图显示为“ key” =“ sample value”
答案 0 :(得分:1)
在JSON specification中, key 和 value (如果是字符串类型)都必须用双引号引起来。因此,在您的示例中,有效的JSON是:
{"key":"sample value"}
在Java中"
应该被转义:
String str = "{\"key\":\"sample value\"}";
答案 1 :(得分:0)
您的代码无法编译
您必须将 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-Gson
http://tutorials.jenkov.com/java-json/gson.html#parsing-json-into-java-objects