js将字符串转换成对象和数组

js将字符串转换成对象和数组,第1张

可以这样转换(兼容性较好的做法):

var msg = '{A:[{name:"阿克苏",spell:"akesu"}]}'; // 字符串类型的 JSON 数据
var json = null;
try {
    json = (new Function('return ' + msg))();
} catch(e) {
    // 如果 JSON 数据格式有错误,进行错误处理
    consolelog('数据错误');
}

---------

利用现代浏览器的特性的另一种做法是:

var msg = '{A:[{name:"阿克苏",spell:"akesu"}]}'; // 字符串类型的 JSON 数据
var json = JSONparse(msg); // 直接利用 JSON 对象进行解析

缺点就是某些浏览器不一定支持

---------

反过来,如果要将对象转换成字符串,可以这样做,见下面代码(适用于现代浏览器,几十年前的IE6什么的运行不起来):

var jsons ={A:[{name:"阿克苏",spell:"akesu"}]}; // JS 对象
var str = JSONstringify(jsons); // 转化对象为字符串
consolelog(str); // 测试 - 输出字符串

通常都是用eval()函数来进行转换的,例如:var
sjson
=
'{a:
1}';var
o
=
eval('('
+
sjson
+
')');alert(oa);如果是数组的话,也是类似的,在字符串两边各加上一个小括号,然后用eval()函数将其转换为数组,再赋值给某个变量,就可以直接使用了。

1、javascript里面的数组都是关联数组吧?js对象的本质就是关联数组。索引数组也就是常说的数组,数组是对象,所以数组的本质也是关联数组,但通常没人这么说。2、唯一区别就是:索引数组的索引只能是0和正整数,但它是有序的。关联数组的索引很宽松,但关联数组是无序的,就这个。3、json对象是严格版本的关联数组。4、至少在chrome下,索引数组和关联数组的速度是一样的。5、索引数组的好处就是格式简单,关联数组的好处是键可以任意定义。现代浏览器中提供了JSONstringify()方法将数组,对象转成json。JSONstringify把一个对象转换成json字符串,JSONparse把一个json字符串解析成对象。不支持的可以引入json2js$fnstringifyArray=function(array){returnJSONstringify(array)}$fnparseArray=function(array){returnJSONparse(array)}然后调用:$("")stringifyArray(array)

实现方法为将字符串按某个字符切割成若干个字符串,并以数组形式返回,示例代码如下:
var s = "abc,abcd,aaa";
ss = ssplit(",");// 在每个逗号(,)处进行分解。

1、object无法直接转换为array,两个是不同的类型和数据结构。

2、object中的结构是一个属性=值的结构模式,而array是数字索引=值的结构模式

3、如果确实根据一定的业务逻辑能转换,则需要循环

扩展资料:


JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

日常用途

嵌入动态文本于HTML页面。

对浏览器事件做出响应。

读写HTML元素。

在数据被提交到服务器之前验证数据。

检测访客的浏览器信息。

控制cookies,包括创建和修改等。

基于Nodejs技术进行服务器端编程。

参考资料:

百度百科:JavaScript


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13349120.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-19
下一篇 2023-07-19

发表评论

登录后才能评论

评论列表(0条)

保存