javascript 数组中的 JSON 导致错误无法读取属性
我有一些JavaScript一年没有变化,突然间破裂了。因此,我的第一个想法是必须是与数据有关的。在查看数据时,似乎一年多的结构没有变化。
这是我的JS,突然进行了很长时间的运行良好。此错误:“未经定义的未定义类型错误:无法读取属性BillingCycletoryId。”该错误在下面的“ value.BillingCyclethistoryId”上触发了...
681088008
当我将JSON粘贴到JSONLINT中时,它会引发错误,这对我来说是没有意义的错误:
556959134
您的代码是有效的 javascript,但并非其他人指出的严格有效的 JSON。
在您的屏幕截图中,history 变量看起来并不像它应该的那样(它的长度应该是 1)。您可能只需要重命名它:“history”似乎是 Chrome 控制的全局变量。如果 Chrome 最近添加了此行为,那么这将解释您的代码突然中断的原因。
请参阅 http://www.javascripter.net/faq/reserved.htm
“history”严格来说不是保留字,但最好还是避免将其用作全局变量名。(如果您可以避免使用全局变量,那么使用全局变量是不明智的。)
jsonlint 错误是由于您没有将密钥括在引号中。这样可以正常工作,但 jsonlint 不喜欢它。您可以从此处的常见问题解答中看到这一点: http://jsonlint.com/#
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
You probably have an extra comma at the end of your list. Something like: [ "a", "b", ] You also may have not enclosed your collection keys in quotes. Proper format for a collection is: { "key": "value" }
字符串和变量应该放在双引号中,请尝试以下操作:
[
{
"BillingCycleHistoryID": 339,
"BillingCycleDate": "7/18/2014",
"StartTime": "7/18/2014",
"PercentComplete": 100,
"EndTime": "7/18/2014",
"HoursRan": 0.16,
"StartedBy": "ADMIN"
}
]