2013-08-01 3 views
1

Мне нужен простой пример кода, показывающий объект javascript и преобразовывающий его в JSON .... Я сделал преобразование на основе массива javascript для JSON с использованием $ .ParseJSON (массив, упомянутый здесь). .. Теперь мне нужно обратное ... В конце мне нужно отправить его на сервер, используя метод post ... Kindly Guide.JavaScript Object/Array to JSON Conversion

Этот код я получил в Интернете ...

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); 

to convert pluginArrayArg (which is pure javascript array) into JSON array: 

var jsonArray = JSON.parse(JSON.stringify(pluginArrayArg)) 

Вот один из кода, который я видел в Интернете ... но это, кажется, как будто в начале они заявляют о JSON, а не assocaite элементы массива ... Просьба указать мне правильный путь. Спасибо

+0

Я думаю, вы должны сначала получить терминологию прямо. [Нет такой вещи, как «объект JSON» или «массив»] (http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/). Есть только объекты JavaScript/массивы и JSON. Вы можете разделить * строку *, содержащую JSON, на объект/массив JS, используя 'JSON.parse'. Вы можете преобразовать объект/массив JS в строку с помощью 'JSON.stringify'. Что ты хочешь делать? –

ответ

1

В коде выше, в начале они не объявляют JSONS своим объектом javascript. Объект Javascript отличается от Json.To найти разницу между обоими проверка What's the difference between Javascript Object and JSON object

Чтобы преобразовать объект javscript или массив в json, используйте JSON.stringify(varname). Кроме того, для печати объектов в javascript используйте console.log(objname). Добавить это в код,

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); 
console.log(pluginArrayArg); 
var jsonArray = JSON.stringify(pluginArrayArg); 
alert(jsonArray); 

Кроме того, чтобы преобразовать ассоциативный массив в JavaScript в JSON, попробуйте этот пример ..

var asscArr = {}; 
asscArr["name"] = "Hello World"; 
console.log("name = " + asscArr["name"]); 
var jsonArr = JSON.stringify(asscArr); 
alert(jsonArr);