如何在Java中的JSONObject中添加值?
我使用json.put(“key”、“value”)添加了一些值 结果是如何在Java中的JSONObject中添加值?,java,json,Java,Json,我使用json.put(“key”、“value”)添加了一些值 结果是{“key”:“value”} 但是我想得到像{key:“value”} 怎么办?这是不可能的,因为JSON对象的键总是用引号括起来。如果值是Booloean或数字,则可以不加引号: { "firstName": "John", "lastName": "Smith", "isAlive": true, "age": 25, "height_cm": 167.6 } Json使用引号来增加键和值的可
{“key”:“value”}
但是我想得到像{key:“value”}
怎么办?这是不可能的,因为JSON对象的键总是用引号括起来。如果值是Booloean或数字,则可以不加引号:
{
"firstName": "John",
"lastName": "Smith",
"isAlive": true,
"age": 25,
"height_cm": 167.6
}
Json使用引号来增加键和值的可能类型 例如: {Some key:Some Vaue}-无效 {Some key:Some: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));
}
publicstaticvoidmain(字符串[]args)
{
Gson Gson=新的Gson();
//字符串json=“{key:\'value\'}”;-有效
//字符串json=“{key:value}”;-有效
//String json=“{key:some:value}”;//无效
String json=“{key:\”some:value\“}”;//有效
Map Map=gson.fromJson(json,Map.class);
System.out.println(map.size());
System.out.println(gson.toJson(map));
}
打印JSON时,键和值的周围都会有引号。因此,如果您在JSONobject中搜索key,您将得到该值,搜索“key”将返回null/throw exception您想要的不是有效的JSON。顺便问一下,你在哪里需要这种类型的需求?