【问题标题】:validation of my code json验证我的代码 json
【发布时间】:2016-05-17 09:22:27
【问题描述】:

我在第一次创建脚本 js 时正在 AngularJs 中开发一个简单的应用程序,但后来我需要将其更改为 json 文件,因此我需要验证此代码 json:

[{
      "type": "line",
      "plotarea": {
        "adjust-layout":true /* For automatic margin adjustment. */
      },
      "scale-x": {
        "label":{ /* Add a scale title with a label object. */
          "text":"échelle essence gazoile",
        },
        /* Add your scale labels with a labels array. */
        "labels":["sub01","sub02","sub02"]
      },
      "series": [
        {"values":[1,8,1]},//here the prices of city selected
        {"values":[14,13,14]}//here the qte of city selected
      ],

        "name": "city A",
        "elements": [{
          "id": "c01",
          "name": "name1",
          "price": "15",
          "qte": "10"
        }, {
          "id": "c02",
          "name": "name2',
          "price": "18,
          "qte": "11"
        }, {
          "id": "c03",
          "name": "name3",
          "price": "11",
          "qte": "14"
        }],
        "subsities": [{
          "name": "sub A1",
          "elements": [{
            "id": "sub01",
            "name": "nameSub1",
            "price": "1",
            "qte": "14"
          }, {
            "id": "sub02",
            "name": "nameSub2",
            "price": "8",
            "qte": "13"
          }, {
            "id": "sub03",
            "name": "nameSub3",
            "price": "1",
            "qte": "14"
          }]
        }, {
          "name": "sub A2",
          "elements": [{
            "id": "ssub01",
            "name": "nameSsub1",
            "price": "1",
            "qte": "7"
          }, {
            "id": "ssub02",
            "name": "nameSsub2",
            "price": "8",
            "qte": "1"
          }, {
            "id": "ssub03",
            "name": "nameSsub3",
            "price": "4",
            "qte": "19"
          }]
        }, {
          "name": "sub A3",
          "elements": [{
            "id": "sssub01",
            "name": "nameSssub1",
            "price": "1",
            "qte": "11"
          }, {
            "id": "sssub02",
            "name": "nameSssub2",
            "price": "2",
            "qte": "15"
          }, {
            "id": "sssub03",
            "name": "nameSssub3",
            "price": "1",
            "qte": "15"
          }]
        }]
      }, {
        "name": "city B",
        "elements": [{
          "id": "cc01",
          "name": "name11",
          "price": "10",
          "qte": "11"
        }, {
          "id": "cc02",
          "name": "name22",
          "price": "14",
          "qte": "19"
        }, {
          "id": "cc03",
          "name": "name33",
          "price": "11",
          "qte": "18"
        }]
      }, {
        "name": "city C",
        "elements": [{
          "id": "ccc01",
          "name": "name111",
          "price": "19",
          "qte": "12"
        }, {
          "id": "ccc02",
          "name": "name222",
          "price": "18",
          "qte": "17"
        }, {
          "id": "ccc03",
          "name": "name333",
          "price": "10",
          "qte": "5"
        }]
      }];

JSON 验证器告诉我我的代码 json 不正确。

请任何人都可以帮助我!

【问题讨论】:

  • 删除 cmets /* --- */, //
  • 另外你不能有单引号'所以用"替换它们
  • "name": "name2', "price": "18, 替换为"name": "name2", "price": "18",
  • @MuhammadShahzad 是的,你是对的
  • 非常感谢大家

标签: javascript angularjs json validation


【解决方案1】:

cmets 的问题和某些值不包含, 并且某些包含在最后一个值中。(例如:'json': { 'value1': 14, 'value2':14, // , is not allowed in the last line })最后一行也不能包含;}] 之后 用于验证jsonlint

这是正确的json:

[{
    "type": "line",
    "plotarea": {
        "adjust-layout": true
    },
    "scale-x": {
        "label": {
            "text": "échelle essence gazoile"
        },

        "labels": ["sub01", "sub02", "sub02"]
    },
    "series": [{
        "values": [1, 8, 1]
    }, {
        "values": [14, 13, 14]
    }],

    "name": "city A",
    "elements": [{
        "id": "c01",
        "name": "name1",
        "price": "15",
        "qte": "10"
    }, {
        "id": "c02",
        "name": "name2",
        "price": "18",
        "qte": "11"
    }, {
        "id": "c03",
        "name": "name3",
        "price": "11",
        "qte": "14"
    }],
    "subsities": [{
        "name": "sub A1",
        "elements": [{
            "id": "sub01",
            "name": "nameSub1",
            "price": "1",
            "qte": "14"
        }, {
            "id": "sub02",
            "name": "nameSub2",
            "price": "8",
            "qte": "13"
        }, {
            "id": "sub03",
            "name": "nameSub3",
            "price": "1",
            "qte": "14"
        }]
    }, {
        "name": "sub A2",
        "elements": [{
            "id": "ssub01",
            "name": "nameSsub1",
            "price": "1",
            "qte": "7"
        }, {
            "id": "ssub02",
            "name": "nameSsub2",
            "price": "8",
            "qte": "1"
        }, {
            "id": "ssub03",
            "name": "nameSsub3",
            "price": "4",
            "qte": "19"
        }]
    }, {
        "name": "sub A3",
        "elements": [{
            "id": "sssub01",
            "name": "nameSssub1",
            "price": "1",
            "qte": "11"
        }, {
            "id": "sssub02",
            "name": "nameSssub2",
            "price": "2",
            "qte": "15"
        }, {
            "id": "sssub03",
            "name": "nameSssub3",
            "price": "1",
            "qte": "15"
        }]
    }]
    }, {
    "name": "city B",
    "elements": [{
        "id": "cc01",
        "name": "name11",
        "price": "10",
        "qte": "11"
    }, {
        "id": "cc02",
        "name": "name22",
        "price": "14",
        "qte": "19"
    }, {
        "id": "cc03",
        "name": "name33",
        "price": "11",
        "qte": "18"
    }]
    }, {
    "name": "city C",
    "elements": [{
        "id": "ccc01",
        "name": "name111",
        "price": "19",
        "qte": "12"
    }, {
        "id": "ccc02",
        "name": "name222",
        "price": "18",
        "qte": "17"
    }, {
        "id": "ccc03",
        "name": "name333",
        "price": "10",
        "qte": "5"
    }]
}]

【讨论】:

    【解决方案2】:

    问题是您的 JSON 中有 cmets。这在纯 json 中是不允许的。

    另外你还有一些语法错误:

    • 第 8 行 :"text": "échelle essence gazoile", , 必须删除,因为它是对象的最后一个属性
    • 第 26 行:"name": "name2', 将单引号更改为双引号
    • 第 27 行:"price": "18,:在末尾添加双引号
    • 最后一行:}]; 去掉分号

    这是您的有效 json:

    [{
        "type": "line",
        "plotarea": {
            "adjust-layout": true
        },
        "scale-x": {
            "label": {
                "text": "échelle essence gazoile"
            },
            "labels": ["sub01", "sub02", "sub02"]
        },
        "series": [{
            "values": [1, 8, 1]
        }, {
            "values": [14, 13, 14]
        }],
    
        "name": "city A",
        "elements": [{
            "id": "c01",
            "name": "name1",
            "price": "15",
            "qte": "10"
        }, {
            "id": "c02",
            "name": "name2",
            "price": "18",
            "qte": "11"
        }, {
            "id": "c03",
            "name": "name3",
            "price": "11",
            "qte": "14"
        }],
        "subsities": [{
            "name": "sub A1",
            "elements": [{
                "id": "sub01",
                "name": "nameSub1",
                "price": "1",
                "qte": "14"
            }, {
                "id": "sub02",
                "name": "nameSub2",
                "price": "8",
                "qte": "13"
            }, {
                "id": "sub03",
                "name": "nameSub3",
                "price": "1",
                "qte": "14"
            }]
        }, {
            "name": "sub A2",
            "elements": [{
                "id": "ssub01",
                "name": "nameSsub1",
                "price": "1",
                "qte": "7"
            }, {
                "id": "ssub02",
                "name": "nameSsub2",
                "price": "8",
                "qte": "1"
            }, {
                "id": "ssub03",
                "name": "nameSsub3",
                "price": "4",
                "qte": "19"
            }]
        }, {
            "name": "sub A3",
            "elements": [{
                "id": "sssub01",
                "name": "nameSssub1",
                "price": "1",
                "qte": "11"
            }, {
                "id": "sssub02",
                "name": "nameSssub2",
                "price": "2",
                "qte": "15"
            }, {
                "id": "sssub03",
                "name": "nameSssub3",
                "price": "1",
                "qte": "15"
            }]
        }]
    }, {
        "name": "city B",
        "elements": [{
            "id": "cc01",
            "name": "name11",
            "price": "10",
            "qte": "11"
        }, {
            "id": "cc02",
            "name": "name22",
            "price": "14",
            "qte": "19"
        }, {
            "id": "cc03",
            "name": "name33",
            "price": "11",
            "qte": "18"
        }]
    }, {
        "name": "city C",
        "elements": [{
            "id": "ccc01",
            "name": "name111",
            "price": "19",
            "qte": "12"
        }, {
            "id": "ccc02",
            "name": "name222",
            "price": "18",
            "qte": "17"
        }, {
            "id": "ccc03",
            "name": "name333",
            "price": "10",
            "qte": "5"
        }]
    }]
    

    【讨论】:

      【解决方案3】:

      您不能在 json 文档中包含 C 样式或 C# 样式的 cmets。事实上,您不能在 json 文档中包含任何 cmets 您可以在 http://jsonlint.com/

      上验证您的 json 文档

      【讨论】:

        【解决方案4】:

        你可以试试这个#http://jsonlint.com/

        这将验证您的 json 并在您做错的地方给您错误

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-05-17
          • 1970-01-01
          • 1970-01-01
          • 2017-03-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多