我正在尝试从我的 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/