javascript将数组转换为json(js对象转成数组)
js怎么把数组格式化为json
用下面的函数: eval ("(" + JSON格式的字符串 + ")"); 或者用dojo var jsnObj = dojo.fromJson(JSON格式的字符串);
js怎样将数组转换为json
//数组转json串var arr = [1,2,3, { a : 1 } ];
JSON.stringify( arr );
//json字符串转数组var jsonStr = '[1,2,3,{"a":1}]';
JSON.parse( jsonStr );
怎么将数组转为json
要使用json来传输数据,必须将所承载的数据转换成json的格式。json的格式如下:
JSON建构于两种结构:
1. “名称/值”对的集合。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
2. 值的有序列表。在大部分语言中,它被理解为数组(array)。
这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。
JSON具有以下这些形式:
1.对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
例:{"name":"张三","age":20,"birthday":"1982-07-20"}
这是对象在json中的表示形式.即{"key1":"value1","key2":"value2",...}
2.数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
例:["张三","李四","王五"]
这是数组在json中的表示形式.即[value1,value2,value3,....]
3.值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
4.字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。
字符串(string)与C或者Java的字符串非常相似。
5.数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。
注:你只要记住前两种形式就可以了。
注意:key一定要用引号,而value如果是字符串,也一定要用引号引起来。切记,有的系统中,只当双引号是有效的,而不认单引号。所以建议用双引号。
更多的格式内容请访问
以上说了json的表示形式,那么现在来看一下它的使用:
因为语言的不同,在action中对json的使用方式也不一样,但思路是一样的,那就是将json转换为对象或数组,我们这里只提及客户端的javascript中json的转换。你使用哪种语言,请参照本语言使用json的方式。
1.首先,在javascript中要获取前端页面中所有输入域的值,保存到数组或一个对象中。
2.将对象或数组转换成JSON格式。有一个js文件能让我们转换起来非常方便,就是prototype.js,导入这个文件后,使用(对象.toJSON())或(数组.toJSON()),这个对象或数组就被保存成为了JSON格式的数据
3.将这个JSON对象传入action中进行处理,然后返回。
4.如果返回的是一个json,那么各户端接收以后需要将json格式的数据转换为javascrip中的对象或数组。同样使用prototype.js,(json对象.evalJSON());好了,这样就转换成js中的对象或数组了。同样你也可以使用javascript中的eval函数进行转换。(eval(json对象)),这两种方式都可以效果是相同的,都是返回的javascript的对象或数组。你现在就可以在客户端的javascript中使用这个对象或数组了
注意:prototype.js与json.js可能会有冲突,建议只使用一种。当然在这里没有介绍json.js的使用,原因是prototype.js的功能已经十分强大,在使用prototype.js时,已经没有必要再使用json.js了
JS(JQUERY)把数组数据变成JSON数据
!DOCTYPE?HTML
head
meta?charset="UTF-8"?/
titleJS的TAB切换/title
style?type="text/css"
/style
script?type="text/javascript"
var?oldArr?=?[
????????????{
????????????????"date"?:?"20140929",
????????????????"value"?:?"value1"
????????????},
????????????{
????????????????"date"?:?"20140929",
????????????????"value"?:?"value2"
????????????},
????????????{
????????????????"date"?:?"20140929",
????????????????"value"?:?"value3"
????????????},
????????????{
????????????????"date"?:?"20140930",
????????????????"value"?:?"value4"
????????????},
????????????{
????????????????"date"?:?"20140930",
????????????????"value"?:?"value5"
????????????}
????];
????var?convert?=?function?(oldArr)
????{
????var?newJson?=?{};
????for?(?var?i?=?0;?i??oldArr.length;?i++)
????{
????if?(!newJson[oldArr[i].date])
????{
????newJson[oldArr[i].date]?=
????{
????"date"?:?oldArr[i].date
????};
????}
????if?(!!newJson[oldArr[i].date]["data"])
????{
????newJson[oldArr[i].date]["data"].push?(oldArr[i]);
????}
????else
????{
????newJson[oldArr[i].date]["data"]?=?[oldArr[i]];
????}
????}
????return?newJson;
????}
????var?newJson?=?convert?(oldArr);
????console.log?(newJson);
/script
/head
body
/body
/html
JS,javascript 如何把普通数组转换成JSON数组
首先说一句~你的数组有语法错误~
而在JS中json是字符串表现形式,你的B显然是个对象,跟json没啥关系的~
所以是在js对象(数组)和json字符串之间转换~
那你的A(js中实例使用Camel规则,所以要写成小写a)就应该写成:
var a = {
name: "XXXX", //属性也是Camel规则
year: 1990,
old: 21
};
然后就是转换问题了,使用JSON类:
var b = JSON.stringify(a); //注意,b是json字符串
如果找不到JSON对象说明你浏览器版本太老
就需要手动引用json类库
请自行百度"json2.js"进行下载并引用
希望对您有帮助~
By Billskate
js怎么把数组转换成json字符串?
方法如下:
12345678910 function tojson(arr){ ?
if(!arr.length) return null; ?
var i = 0; ?
len = arr.length, ? ?array = [];
for(;ilen;i++){ ? ?
array.push({"projectname":arr[i][0],"projectnumber":arr[i][1]}); ? ?}
return JSON.stringify(array); ?}?
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。