我想知道在这个 JSON 中是否:
"salmos": [{
"orden": "1",
"antifona": "Han llegado los días de penitencia; expiemos nuestros pecados y salvaremos nuestras almas.",
"ref": "Salmo 118, 17-24",
"tema": "NULL",
"intro": "NULL",
"parte": "NULL",
"salmo": "Haz bien a tu siervo: viviré_y cumpliré tus palabras;_ábreme los ojos y contemplaré_las maravillas de tu voluntad;_soy un forastero en la tierra:_no me ocultes tus promesas.§Mi alma se consume, deseando_continuamente tus mandamientos;_reprendes a los soberbios,_infelices los que se apartan de tus mandatos;_aleja de mí las afrentas y el desprecio,_porque observo tus preceptos.§Aunque los nobles se sientan a murmurar de mí,_tu siervo medita tus leyes;_tus preceptos son mi delicia,_tus decretos son mis consejeros."
}, { ...
像这样出现的值:"NULL"
, 将被解释为值为 的字符串NULL
,或者将被解释为值NULL
本身。
我产生了疑问,因为我不知道在检索任何这些值时是否会遇到问题,这些值可以是有效字符串,也可以是我想表示的空字符串NULL
以提高安全性。
我可以举个例子评论你;
JSON1 {} :返回一个空对象。
JSON2 {"myCount": null}:这是根据官方文档http://www.json.org/表示空值的明确方式
JSON4 :返回一个空字符串。
JSON5 {"myString": "null"}:有了这个,您将拥有一个包含 NULL 作为字符串的文字字符串。
我前段时间从这篇英文帖子中得到了这个信息:https ://stackoverflow.com/questions/21120999/representing-null-in-json
在JSON 语法标准最终草案的第二版(日期为 2017 年 12 月)中,在 JSON 中的值第 5 节(链接 PDF 中的第 10 页)中指出(我的翻译):
因此
null
(小写)将被允许作为一个值,并且最适合在 JSON 中定义空值。在问题中公开的情况下,值不会被解释为
null
文本字符串“NULL”,这可能会导致问题,因为作为非空字符串,它将被评估为true
条件,而值null
评估为false
,能够产生意想不到的行为。例如:不仅仅是担心如何在 .json 中表示值,在这种情况下,它将是如何在应用程序中表示它们以及在包含这种类型的值时它是否可以正常工作。
您可以在 .json 中添加想要表示它们的值,例如:
或者干脆不添加它,因为您的解析器负责在您的应用程序将使用的对象中表示这些值,显然您必须验证这些值何时不存在于 .json 中。
从经验来看,处理此类值的最佳方法是不添加值或属性为空值时不添加,原因之一是:
通过不读取这些属性,您不必将它们添加到对象中: