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

时间:2014-08-12 08:57:51

标签: java json

我使用类似json.put("key", "value")添加了值。

结果是{"key": "value"}

但我想获得像{key: "value"}

这样的结果

我该怎么办?

2 个答案:

答案 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));

    }