Estoy tratando de hacer un autocompletar de secuencia de comandos. Yo paso de variables a través de JSON, y entonces no sé cómo van a decodificar JSON.

Este es un ejemplo de JSON código que yo tengo, y me gustaría convertirlo en un simple array de javascript:

[{"ID":"1","name":"Amateur astronomy \r"},{"ID":"2","name":"Amateur microscopy \r"},{"ID":"173","name":"Amateur radio \r"},{"ID":"299","name":"Amateur astronomy \r"},{"ID":"349","name":"Amateur theater \r"}] 
qué hacer si tengo un carácter especial en la cadena json??
Sé que ha sido de más de 2 años, pero ¿alguna vez se ha de averiguar cómo hacer esto?

OriginalEl autor Giulio Colleluori | 2013-07-21

2 Comentarios

  1. 20

    El estándar de JavaScript manera de hacer esto sería el uso de JSON.analizar:

    var myArray = JSON.parse(someJSONString);

    Para la compatibilidad con los navegadores más antiguos que carecen de un built-in JSON objeto, jQuery tiene su propio método:

    var myArray = jQuery.parseJSON(someJSONString);

    Este método está en desuso como de jQuery/3.0.

    OriginalEl autor icktoofay

  2. 13

    La manera estándar con JavaScript es el uso de JSON.parse:

    var myObject = JSON.parse( rawJSON );

    Si estás usando jQuery con $.ajax (o alternativa) puede utilizar dataType: 'json'

    $.ajax({ 
        type: 'GET', 
        url: 'request.php', 
        data: { variable: 'value' }, 
        dataType: 'json',
        success: function(data) { 
            //you can use data.blah, or if working with multiple rows
            //of data, then you can use $.each()
        }   
    });

    Aunque, si el servidor envía de vuelta el encabezado Content-Type: application/json jQuery devolverá como esto de todos modos.

    Aunque de la otra forma con jQuery es el uso de $.parseJSON(rawJSON); Usted no tiene que hacer esto si usted está utilizando el tipo de datos.

    var JSONArray = $.parseJSON(rawJSON);
    Esta es mi llamada de ajax: enlace, Pero en realidad no funciona, la consola dice que JSONArray es nulo :/
    Desde que se hizo el tipo de datos en json puede chatarra var JSONArray = $.parseJSON( data ); como ya convertidos. He editado mi respuesta para el que tenga más sentido para usted.
    ¿Esta solución de trabajo?

    OriginalEl autor Mark Hughes

Dejar respuesta

Please enter your comment!
Please enter your name here