我使用类似json.put("key", "value")
添加了值。
结果是{"key": "value"}
。
但我想获得像{key: "value"}
我该怎么办?
答案 0 :(得分:2)
这不可能像JSON Objects'键始终用引号括起来。如果它的Booloean或数字如下,则该值可以没有引号:
{
"firstName": "John",
"lastName": "Smith",
"isAlive": true,
"age": 25,
"height_cm": 167.6
}
答案 1 :(得分:0)
Json使用引号来增加键和值的可能类型。
示例:
{Some key:Some Vaue} - 无效
{一些关键:有些:Vaue} - 无效
这不是有效的JSON,因为任何Json解析器都无法识别单词之间的“空格”。为了避免这种情况,使用引号定义JSON对象。
{“Some key”:“Some:Vaue”} - 这是有效的
这是任何JSON解析器返回引用的键和值的原因。
帮助您的一个例子
public static void main(String[] args)
{
Gson gson = new Gson();
//String json = "{key : \"value\"}"; - Valid
//String json = "{key : value}"; - Valid
//String json = "{key : some : value}"; // Invalid
String json = "{key : \"some : value\"}"; // Valid
Map<String, String> map = gson.fromJson(json, Map.class);
System.out.println(map.size());
System.out.println(gson.toJson(map));
}