我正在尝试从我的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);
}
})
});
数据变量日志
{"CodCategoria":"H01","DescCategoria":"Computadores","numExemplaresCategoria":0}
答案 0 :(得分:4)
正如您已经提到的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]));