无法读取JSON文件

Aqu*_*s24 2 javascript jquery json

我有以下代码用于读取JSON文件.它没有给出任何错误,但我在变量中得到null:

var myData = null;
$.ajax({
    type: 'GET',
    async: false,
    url: 'myJson.json',
    dataType: 'json',
    success: function (r) {
        myData = r;
    }
});
Run Code Online (Sandbox Code Playgroud)

以下是我的JSON文件:

{items:[{value:"1",name:"John"},{value:"2",name:"Henry"}]};
Run Code Online (Sandbox Code Playgroud)

Ben*_*aum 13

您的JSON无效.

以JSON序列化的对象采用以下格式:

在此输入图像描述

字符串是:

在此输入图像描述

必须转义JSON字符串.你错过了".

一个正确的JSON将是:

{"items":[{"value":"1","name":"John"},{"value":"2","name":"Henry"}]}
Run Code Online (Sandbox Code Playgroud)

我是如何创造它的

即使我没有记住或查找特定的JSON规则,您始终可以从JS变量生成JSON,假设它是可序列化的(在您的情况下是):

  • 打开JavaScript控制台
  • 输入var a =并粘贴对象文字
  • 按enter键.
  • 类型JSON.stringify(a);
  • 按enter键.复制结果.
  • 将结果粘贴到外部.json文件中.JavaScript JSON.stringify生成有效的JSON.

  • 它的工作原理是因为它是一个有效的JS对象文字,而不是有效的JSON. (6认同)
  • @ Aquarius24 JSON是一种数据交换格式,您可以在JS中使用它来序列化和反序列化对象.JavaScript对象文字是_not_ JSON.JSON可以从JavaScript对象序列化和反序列化,但它更严格.另一个例子`{"a":3,"b":5,}`是一个有效的ES5 JavaScript对象文字,但由于尾随的`,`仍然是无效的JSON. (4认同)