我希望在JSON中包含一个if-else
条件,我需要在JSON文件中设置一个属性。
例如:
"identifier": "navTag",
"items": [{
"label": "abc",
"url": "yxz.com",
},
{
"label": "abc1",
"url": "yxz1.com",
},
{
"label": "abc2",
"url": "yxz2.com",/*I need to change this value on certain
condition like if condition is true then
"url": xyz2.com if false "url":xyz3.com*/
}
]
这可能吗?
答案 0 :(得分:3)
JSON是一种用于存储数据的结构,因此我们可以比其他数据结构更快地检索它。所以我们不能在这里给出一些条件。如果你想根据一些if-else条件检索一些数据那么就有了两种可能的方式,
1.我们可以为不同的条件创建不同的JSON文件。
2.我们可以在您的JSON结构中创建名为if
和else
的两个字段。如果满足if
条件,则获取if
字段的值并且如果else
满意然后检索else
字段的值。
例如:
{
"if":"if-value",
"else":"else-value"
}
答案 1 :(得分:0)
JSON仅 数据表示(与任何编程语言无关,即使早期的JavaScript实现远程启发它)。其中没有“执行”或“有条件”(或“行为”或“semantics”)的概念。
仔细阅读(简短)JSON定义。它只是定义了什么字符序列(例如文件的内容)是有效的JSON。它没有定义JSON数据的“含义”。
JSON数据由某些程序解析,并由某些程序发出(通常是不同的程序,但可能是相同的)。
处理JSON的程序当然可以使用条件并给它一些“含义”(无论该词的定义是什么)。但JSON只是“数据语法”。
您可以(轻松地)编写自己的JSON转换器(使用一些现有的JSON库,其中有很多),这非常简单。一些程序(特别是jq)声称或多或少是通用的JSON处理器。
由于JSON是一种文本格式,您甚至可以使用一些editor(例如emacs,vim或许多其他人)来手动更改部分内容。您最好使用一些现有的JSON解析器验证结果(以确保您没有添加任何错误)。