java对象:
class stuendt{
private Stirng aa;
private int bb;
}
对Student进行实例化时,aa和bb字段都没有赋值。直接对该对象进行序列化。
序列化结果:
{
"stu":{
"aa":null,
"bb":-1
}
}
根据json协议,是不是aa字段序列化完成后的默认结果应该是“”,不应该是null?
上面该怎么将java对象中的String字段,序列化时默认成“”
java对象:
class stuendt{
private Stirng aa;
private int bb;
}
对Student进行实例化时,aa和bb字段都没有赋值。直接对该对象进行序列化。
序列化结果:
{
"stu":{
"aa":null,
"bb":-1
}
}
根据json协议,是不是aa字段序列化完成后的默认结果应该是“”,不应该是null?
上面该怎么将java对象中的String字段,序列化时默认成“”
@wendal
http://json.org/json-zh.html
如照片
@mingkaili 若对方的库不支持null只能说太垃圾
@wendal C的语言真的不支持啊。
@mingkaili 不是c语言不支持,是你们用的那个库不支持
@wendal
值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
String 里面也不包含null啊。再者说字符串的值,都应该带“”的不是。
这个我明白。
我说的意思是,抛开语言的特点,单单从json的定义出发,json里面是String类型的字段,其值还可以是null吗?按照上面的定义,其值应该是字符串或者字符。不应该是null。我不知道我理解的是否正确?
@mingkaili 你理解错了, json中值的类型是未知的.
json里面没有约束一个值的具体类型, 就是说 {"key":value}
中的value是没有*类型信息*的,也没有信息可以推导出value必须是什么类型,正是如此, Json才能做到跨编程语言.
@wendal 谢哥