JSON字段可以不是字符串吗?

时间:2016-07-28 17:54:14

标签: java json

据我所知,所有JSON字段名都是字符串值。但是,我遇到了一个代码片段,它对JSON的“键”执行字符串检查以查看它是否为字符串,如果不是,则会抛出异常。它类似于:

if (!(key instanceof String)){
    throw new exception();}

这项检查是否必要?

编辑:

例如,

while (jp.nextToken() == JsonToken.FIELD_NAME){
    String key = jp.getCurrentName();
}

此代码段只会进展为字符串的JSON令牌,因此我想知道JSON是否可以包含不是字符串的字段名,以便Jackson解析器只会跳过这些字段名。

1 个答案:

答案 0 :(得分:1)

来自JSON official website(以及代理,JSON Data Interchange Standard):

enter image description here

创建对象时,密钥必须为String

编辑:正如@SotiriosDelimanolis在评论中指出的那样,这仅适用于JSON文件的格式,不一定通过Java库进行解析。

  例如,杰克逊可以将密钥反序列化为自定义类型 - @SotiriosDelimanolis