I'm trying to parse some data from my ERP platform (API written in C#). When I try to parse the info contained in data, I get an undefined result. I've been looking for some answers and I even could figure out an alternative way to do it, with this:
for(var i in data){
top[i] = $.parseJSON(JSON.stringify(data[i]));
But I'd like to know why this JSON parse isn't working since I'm doing as demanded.
My web app API is written in Ruby on Rails, FYI
Best regards,
.js file(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);
}
})
});
The data variable log is
{"CodCategoria":"H01","DescCategoria":"Computadores","numExemplaresCategoria":0}
$.parseJSONhas been deprecated, you should use the built-inJSON.parse()dataType: 'json', jQuery will automatically parse the JSON response, and setsdatato the result. So when you call$.parseJSON(data)yourself,datais not a JSON string.var categoria_temp = data;, sincedatais already parsed.