Tengo una matriz (var cars = []
) que contiene algunos enteros. He agregado algunos valores a la matriz, pero ahora necesito enviar esta matriz a una página a través del método .get
de jQuery. ¿Cómo puedo convertirlo a un objeto JSON para enviar?Convertir matriz a JSON
Respuesta
Guión para la compatibilidad hacia atrás: https://github.com/douglascrockford/JSON-js/blob/master/json2.js
Y llamada:
var myJsonString = JSON.stringify(yourArray);
Nota:El objeto JSON es ahora parte de la mayoría de los navegadores web modernos (IE 8 & arriba). Ver caniuse para la lista completa. El crédito va a: @Spudley por su comentario debajo de
Esto funciona, ¿jQuery tiene una función como esta? Preferiría no adjuntar otro archivo js si jQuery ya tiene una función. – dotty
jQuery tiene la implementación de JSON.parse en 1.4.1, pero no JSON.stringify ... Si minifiy json2.js es <3k, creo. – gnarf
Sí, me sorprendió jQuery no tenía esto incorporado también – JonoW
Decidí usar la biblioteca json2 y recibí un error sobre "estructuras de datos cíclicas".
Lo solucioné diciéndole a json2 cómo convertir mi objeto complejo. No solo funciona ahora sino que también incluí solo los campos que necesito. Aquí es cómo lo hice:
OBJ.prototype.toJSON = function (key) {
var returnObj = new Object();
returnObj.devid = this.devid;
returnObj.name = this.name;
returnObj.speed = this.speed;
returnObj.status = this.status;
return returnObj;
}
lo hice de esa manera:
si tengo:
var jsonArg1 = new Object();
jsonArg1.name = 'calc this';
jsonArg1.value = 3.1415;
var jsonArg2 = new Object();
jsonArg2.name = 'calc this again';
jsonArg2.value = 2.73;
var pluginArrayArg = new Array();
pluginArrayArg.push(jsonArg1);
pluginArrayArg.push(jsonArg2);
para convertir pluginArrayArg (que es matriz de JavaScript puro) en una matriz JSON:
var jsonArray = JSON.parse(JSON.stringify(pluginArrayArg))
O intente definir la matriz como un objeto. (var cars = {};) Entonces no hay necesidad de convertir a json. Esto podría no ser práctico en su ejemplo, pero funcionó bien para mí.
Vaya, parece que ahora mucho más fácil hoy en día ... 3 maneras en que puede hacerlo:
json = { ...array };
json = Object.assign({}, array);
json = array.reduce((json, value, key) => { json[key] = value; return json; }, {});
En JavaScript, puede utilizar JSON.stringify para convertir una matriz o valores en un JSON cadena formateada
var output = {}
output[0] = "a";
output[1] = "b";
output[2] = "c";
console.log(JSON.stringify(output));
Si tiene solo 1 objeto como el que ha solicitado, lo siguiente funcionará.
var x = [{'a':'b'}];
var b= JSON.stringify(x);
var c = b.substring(1,b.length-1);
JSON.parse(c);
- 1. matriz JSON convertir a matriz de Javascript
- 2. convertir matriz POST a formato json
- 3. JavaScript matriz asociativa a JSON
- 4. cómo convertir una matriz con claves/valores a JSON C#
- 5. Convertir un NSArray de diccionarios a matriz JSON en iOS
- 6. Convertir NSData a JSON
- 7. convertir rss a JSON
- 8. Convertir XML a formato JSON
- 9. Convertir JSON alimentación a NSDictionary
- 10. cómo convertir JSON a cadena
- 11. convertir resultado mysqli a json
- 12. Convertir matriz a Matrix
- 13. cadena convertir a matriz
- 14. ¿Convertir la consulta codeigniter a json?
- 15. Convertir cadena JSON en el objeto JSON
- 16. Convertir matriz int a matriz de caracteres
- 17. convertir matriz decimal a matriz doble
- 18. JSON a PHP Matriz usando file_get_contents
- 19. Perl, convertir hash a matriz
- 20. PHP convertir cadena a matriz
- 21. Convertir NodeList a la matriz
- 22. Python - convertir el archivo csv a JSON
- 23. Cómo convertir JSON a una cadena?
- 24. Cómo convertir un objeto Ruby a JSON
- 25. Convertir de JSON a objeto de colección
- 26. ¿Cómo convertir POJO a JSON y viceversa?
- 27. ¿Convertir URL a la versión JSON?
- 28. Cómo convertir clases JSON a C#?
- 29. Cómo convertir DateTime de JSON a C#?
- 30. Cómo convertir a formato JSON de D3?
Solo haciendo una doble comprobación: ¿la matriz que desea enviar a la página es una matriz de JavaScript o está en el servidor? –
es una matriz Javascript, la enviaré a una secuencia de comandos de Python y Python utilizará la cadena JSON y trabajará con eso. – dotty