javascript - 将 JSON 转换为 Javascript 数组

标签 javascript arrays json

<分区>

如何将以下 JSON 类型转换为 javascript 数组?

[
  {
    "Product Name":"CPE 10281",
    "Application":"Tyres",
    "Weight":150,
    "Cost to Produce":5000,
    "Grade":"A",
    "Cost to Sell":40000,
    "Strength":100
  },
  {
    "Product Name":"CPE 10282",
    "Application":"computers",
    "Weight":250,
    "Cost to Produce":4000,
    "Grade":"H",
    "Cost to Sell":25000,
    "Strength":90
  },
  {
    "Product Name":"CPE 10283",
    "Application":"paint",
    "Weight":150,
    "Cost to Produce":5000,
    "Grade":"A",
    "Cost to Sell":15000,
    "Strength":90
  }
]

与产品名称相关的任何给定条目的调用程序是什么?

感谢大家的意见和解决方案。到目前为止我所拥有的是

$.ajax({
    url: "dataProductJSON.json",
    dataType: 'json',
    mimeType: "application/json",
    success: function (data) {
        
        $.each(data, function (key, val){

            $.each(val, function (innerKey, innerValue){
                
                item.push('<li id="' + innerKey + '">' + innerKey +" : " + innerValue + '</li>');
            });
        });
        alert (item[2]);
        $('<ul/>', {
            'class': 'interest-list',
            html: item.join('')
        }).appendTo('body');
    },

});

我的问题是从 JSON 文件中读取数据后如何将其转换为 javascript 数组。

最佳答案

现代浏览器支持 JSON.parse() ,如 ECMA-262 第 5 版 中所定义。

它的用法如下:

var json = '{"response":true,"number":1}',
    obj = JSON.parse(obj);

alert(obj.count);

对于不支持的浏览器,您可以使用 json2.js 来实现它.

附加说明:

如果您已经在使用 jQuery,则有一个 $.parseJSON 函数映射到 JSON.parse(如果可用)或一个表单旧浏览器中的 eval。但是,这会执行额外的、不必要的检查,这些检查也由 JSON.parse 执行。

总而言之,为了获得最佳的性能,我建议像这样使用它:

var json = '{"response":true,"number":1}',
    obj = JSON && JSON.parse(json) || $.parseJSON(json);

这将确保您立即使用原生 JSON.parse,而不是让 jQuery 在将字符串传递给原生解析函数之前对其执行完整性检查。

如何使用:

当您进行 ajax 调用时,您只需要在成功 时解析数据,如下所示:

success: function (data) {
    data = JSON && JSON.parse(data) || $.parseJSON(data);
}

关于javascript - 将 JSON 转换为 Javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30125183/

相关文章:

javascript - 似乎无法理解为什么我的背景图像轮播不起作用?

javascript - 在 jquery 中使用 img 添加和关闭 anchor 标记之前

javascript - AngularJs:-如何在 AngularJs 中将图片动态推送到 div 并上传到服务器

ios - 需要根据来自响应的格式显示标签中的项目列表

arrays - 使用 swift 解析 xml 数组并将数据存储到数组或字典中

javascript - 为什么我的基本功能(在 NodeJS 中)不起作用?

javascript - 将 getIntersect(arr1, arr2) Javascript 函数转换为任意数量的参数并在 JQuery 中

json - GitHub 无法正确解析 key GoLang API 请求

json - 使用 Jade 迭代 JSON

json - 在 bigquery 中加载 geojson