2013-08-01 171 views
1

我需要一个简单的代码示例显示javascript对象并将其转换为JSON .... 我已经使用$ .ParseJSON(这里提到的数组)来完成基于JavaScript Array到JSON的转换。 ..现在我需要相反...最后,我需要发送到服务器使用post方法... Kindly指南。JavaScript对象/数组到JSON转换

此代码我互联网上得到了...

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.parse'将包含JSON的*字符串*解析为JS对象/数组。您可以使用'JSON.stringify'将JS对象/数组转换为字符串。您想做什么? –

回答

1

在上面的代码中,在开始时,他们没有声明JSONS,它被称为JavaScript对象.Javascript对象与Json不同。要找到两者之间的区别检查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);