Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中的JSONObject中添加值?_Java_Json - Fatal编程技术网

如何在Java中的JSONObject中添加值?

如何在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使用引号来增加键和值的可

我使用json.put(“key”、“value”)添加了一些值

结果是
{“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。顺便问一下,你在哪里需要这种类型的需求?