javascript - $.parseJSON() 返回未定义

标签 javascript jquery json

我正在尝试从我的 ERP 平台(用 C# 编写的 API)解析一些数据。 当我尝试解析数据中包含的信息时,我得到了未定义的结果。 我一直在寻找一些答案,我什至可以想出另一种方法来做到这一点:

for(var  i in data){

      top[i] = $.parseJSON(JSON.stringify(data[i]));

但我想知道为什么这个 JSON 解析不起作用,因为我是按要求做的。

我的网络应用程序 API 是用 Ruby on Rails 编写的,仅供引用

最好的问候,

.js 文件(home.js)

$(document).ready(function () {

    $('#artigos-container').html(botao_load);

    var id_categoria = $("#titulo-categoria").attr('data-id-categoria');
    console.log("ID CATEGORIA : " + id_categoria);
    var url_categoria = base_url_primavera + '/categorias/'+id_categoria;

    /*var id_subcategoria = null;
    var url_subcategoria = null;
    var subcategoria = $("#titulo-subcategoria");
    if(subcategoria.length){
        is_subcategoria = true;
        id_subcategoria = subcategoria.attr('data-id-subcategoria');
        url_subcategoria = base_url_primavera + '/categorias/'+id_categoria+'/subcategoria/' + id_subcategoria;
    }*/

    $.ajax({
        type: 'GET',
        url: url_categoria,
        error: function (err) {
            console.log("error fetching category");
            $("#titulo-categoria").html('erro');
        },
        dataType: 'json',
        success: function (data) {
            console.log(data);
            var categoria_temp = $.parseJSON(data);
            var desc_categoria = categoria_temp.DescCategoria;
            console.log(desc_categoria);
            $("#titulo-categoria").html(desc_categoria);
        }
    })
});

data变量log是

{"CodCategoria":"H01","DescCategoria":"Computadores","numExemplaresCategoria":0}

最佳答案

正如您已经提到的 dataType: 'json' ,jQuery 将已经解析数据。所以你不需要再次解析。

所以将这一行 var categoria_temp = $.parseJSON(data); 更改为,

var categoria_temp = data;

此外,当您如下执行 for..in 时,data[i] 中的值不是要解析的有效 json

for(var  i in data){

      top[i] = $.parseJSON(JSON.stringify(data[i]));

关于javascript - $.parseJSON() 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41050813/

相关文章:

arrays - 如何将嵌套数组转换为散列或 JSON 值作为数组

javascript - 谷歌图表 interpolateNulls 不工作

python - U-SQL 与 Python 在 Azure Data Lake 存储中将 JSON 转换为 CSV

javascript - 如何使用 php-function-output 作为 javascript 的输入?

javascript - HTML 列表 : How can I count the number elemnts retrieved in the list

jquery - 循环遍历一个元素的所有后代,获取它们的属性

jquery - 提交我的 Ajax.BeginForm 的其他 jQuery 事件

javascript - div的背景图片+ jquery的幻灯片

javascript - 将 JSLint/Hint 与 requirejs 一起使用

javascript - 透明 DIV 覆盖