是否可以在JSON文件中使用if-else语句?

时间:2017-10-10 10:32:22

标签: json if-statement

我希望在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*/
            }
        ]

这可能吗?

2 个答案:

答案 0 :(得分:3)

JSON是一种用于存储数据的结构,因此我们可以比其他数据结构更快地检索它。所以我们不能在这里给出一些条件。如果你想根据一些if-else条件检索一些数据那么就有了两种可能的方式, 1.我们可以为不同的条件创建不同的JSON文件。 2.我们可以在您的JSON结构中创建名为ifelse的两个字段。如果满足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(例如emacsvim或许多其他人)来手动更改部分内容。您最好使用一些现有的JSON解析器验证结果(以确保您没有添加任何错误)。