Mam tablicę (var cars = []
), która zawiera kilka liczb całkowitych. Dodałem kilka wartości do tablicy, ale teraz muszę wysłać tę tablicę do strony za pomocą metody jQuery's .get
. Jak mogę przekonwertować go na obiekt JSON do wysłania?Konwertuj tablicę na JSON
Odpowiedz
Script dla wstecznej kompatybilności: https://github.com/douglascrockford/JSON-js/blob/master/json2.js
i zadzwoń:
var myJsonString = JSON.stringify(yourArray);
Uwaga:Obiekt JSON jest teraz częścią większości nowoczesnych przeglądarek internetowych (IE 8 & powyżej). Zobacz pełną listę na stronie caniuse. Kredyt trafia do: @Spudley za komentarz poniżej
Działa to, czy jQuery ma taką funkcję? Wolałbym nie dołączać innego pliku js, jeśli jQuery ma już funkcję. – dotty
jQuery ma implementację JSON.parse w wersji 1.4.1, ale nie JSON.stringify ... Jeśli minifikujesz json2.js jego <3k myślę. – gnarf
Tak, byłem zaskoczony, że jQuery nie ma tego wbudowanego. – JonoW
Postanowiłem użyć biblioteki json2 i otrzymałem komunikat o "cyklicznych strukturach danych".
Rozwiązałem go, mówiąc json2, jak konwertować mój obiekt złożony. Nie tylko teraz działa, ale także uwzględniłem tylko te pola, których potrzebuję. Oto jak to zrobiłem:
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;
}
zrobiłem to w ten sposób:
jeśli mam:
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);
przekonwertować pluginArrayArg (który jest czysty javascript tablicy) do JSON tablicy:
var jsonArray = JSON.parse(JSON.stringify(pluginArrayArg))
Lub spróbuj zdefiniować tablicę jako obiekt. (var cars = {};) Wtedy nie ma potrzeby konwertowania na json. To może nie być praktyczne w twoim przykładzie, ale działa dobrze dla mnie.
Wow, wydaje się dużo łatwiej obecnie ... 3 sposoby, można to zrobić:
json = { ...array };
json = Object.assign({}, array);
json = array.reduce((json, value, key) => { json[key] = value; return json; }, {});
W JavaScript można użyć JSON.stringify przekonwertować tablicę lub wartości do JSON sformatowany ciąg.
var output = {}
output[0] = "a";
output[1] = "b";
output[2] = "c";
console.log(JSON.stringify(output));
Jeśli masz tylko jeden obiekt taki jak ten, który zadałeś, poniższe elementy będą działać.
var x = [{'a':'b'}];
var b= JSON.stringify(x);
var c = b.substring(1,b.length-1);
JSON.parse(c);
- 1. Konwertuj tablicę php na pojedynczy obiekt JSON
- 2. Konwertuj JSON na NSArray
- 3. Konwertuj wielowymiarową tablicę PHP na tablicę javascript
- 4. Konwertuj tablicę na csv
- 5. konwertuj tablicę POST do formatu json
- 6. Konwertuj ciąg JSON na obiekt JSON
- 7. Konwertuj tablicę ciągów na tablicę bajtów
- 8. Konwertuj nierównomierną tablicę komórek na tablicę numeryczną
- 9. Konwertuj tablicę int na tablicę znaków
- 10. Konwertuj .json na ipynb
- 11. JavaScript: Konwertuj textarea na tablicę
- 12. Konwertuj tablicę na ciąg? C#
- 13. Konwertuj std :: wektor na tablicę
- 14. Konwertuj nieprawidłowy json na poprawny json
- 15. Konwertuj adres URL na json
- 16. Konwertuj BSON na prawidłowy JSON
- 17. Konwertuj tabelę HTML na JSON
- 18. Konwertuj dane Lua na JSON
- 19. Swift: Konwertuj struct na JSON?
- 20. Konwertuj wynik mysqli na json
- 21. Konwertuj plik JSON na .plist
- 22. Konwertuj obiekt na ciąg JSON
- 23. Konwertuj ciąg na JSON Obiekt
- 24. Konwertuj dwuwymiarową tablicę
- 25. Konwertuj tablicę bajtów na krótką tablicę w C#
- 26. Konwertuj tablicę liczb całkowitych na tablicę łańcuchów w Ruby?
- 27. Konwertuj tablicę 1D na tablicę 2D w numpy
- 28. Konwertuj ciąg na tablicę znaków swift 2.0
- 29. Konwertuj tablicę na plaster w Go
- 30. Konwertuj liczbę całkowitą na tablicę bajtów
Po prostu podwójne sprawdzenie: czy tablica, którą chcesz wysłać do strony, jest tablicą JavaScript lub czy jest na serwerze? –
to tablica JavaScript, wyślę ją do skryptu w języku Python, a Python użyje łańcucha JSON i będzie działał z tym. – dotty