我使用的是 Dojo 应用程序,是否有任何特殊的 JS 解析器可以让我在 JSON 数据中使用默认值?
例如,我想将 item[1] 中的“maxHeadingLength”设置为 item[0] 中的值。
{
items:[
{
"class": "pmedia.types.PMPlatformRenderConfiguration",
"listItemHeight": "70",
"listItemIconHeight": "60",
"maxDesktopItemsWithBannerP": "9",
"maxDesktopItemsWithBannerL": "9",
"platform": "Default",
"maxHeadingLength":
{
P:300,
L:400
}
},
{
"class": "pmedia.types.PMPlatformRenderConfiguration",
"listItemHeight": "70",
"listItemIconHeight": "60",
"platform": "IPAD",
"maxHeadingLength": "Default"
},
像这样的东西也很好:
“maxHeadingLength”:“this.items[0].maxHeadingLength”
谢谢
更新,看来我现在可以并且需要更好地精确说明问题了。
我想将任何字符串表达式写入纯 JSON 字符串数据(文件),当然作为字符串,并在不使用“eval”的情况下评估同一数据集中的数据。 感谢大家!
最佳答案
您可以在后端进程中执行此操作,也可以在处理 JSON 时使用前端进程。
假设您想使用 JS 在前端执行此操作,我建议首先将 items[0].maxHeadingLength
设置为 var,如下所示:
var defaultMaxHeadingLength = items[0].maxHeadingLength;
然后,当您循环 JSON 时,您可以检查 maxHeadingLength
属性是否有值并默认它,如下所示:
var item, i;
for ( i = 0; i < items.length; i++ )
{
item = items[ i ];
item.maxHeadingLength = item.maxHeadingLength ? item.maxHeadingLength : defaultMaxHeadingLength;
}
关于javascript - 将 JSON 中的值设置为默认 JSON 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064261/