Eu tenho uma matriz var cars = [2,3,..]
que contém alguns números inteiros. Adicionei alguns valores à matriz, mas agora preciso enviar essa matriz para uma página via .get
método do jQuery . Como posso convertê-lo em um objeto JSON para envio?
javascript
jquery
json
arrays
dotty
fonte
fonte
Respostas:
Script para compatibilidade com versões anteriores: https://github.com/douglascrockford/JSON-js/blob/master/json2.js
E ligue para:
Nota: O objeto JSON agora faz parte dos navegadores mais modernos (IE 8 e superior). Veja caniuse para obter uma lista completa. Crédito vai para: @ Spudley por seu comentário abaixo
fonte
JSON
objeto como padrão, o que significa que você não precisa desse script, a menos que esteja planejando oferecer suporte a navegadores mais antigos, como o IE7 ou o Firefox 3.0. Consulte CanIUse para a tabela de suporte.Eu fiz assim:
se eu tiver:
para converter pluginArrayArg (que é uma matriz javascript pura) em uma matriz JSON:
fonte
Uau, parece que ficou muito mais fácil hoje em dia ... 3 maneiras de fazer isso:
fonte
jsonString = JSON.stringify({ ...array })
Decidi usar a biblioteca json2 e recebi um erro sobre "estruturas de dados cíclicos".
Eu o resolvi dizendo ao json2 como converter meu objeto complexo. Não só funciona agora, mas também incluí apenas os campos necessários. Aqui está como eu fiz isso:
fonte
Ou tente definir a matriz como um objeto. (var cars = {};) Então não há necessidade de converter para json. Isso pode não ser prático no seu exemplo, mas funcionou bem para mim.
fonte
Uma outra maneira poderia ser esta:
fonte
Se você tiver apenas 1 objeto como o que você pediu, o seguinte funcionará.
fonte
A maneira mais curta que sei gerar json válido a partir de uma matriz de números inteiros é
para objeto / matriz mais geral (sem referências circulares ), use JSON.stringify (cars)
Mostrar snippet de código
fonte
porque minha matriz era como abaixo: e usei a função .push para criá-la dinamicamente
A única maneira de converter minha matriz em json é
fonte