将字符串转换为javascript对象 [英] convert a string to javascript object

查看:81
本文介绍了将字符串转换为javascript对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下字符串

":All;true:Yes;false:&nbsp"

我想转换为以下对象:

var listItems = 
[
{itemValue: "", itemText: "All"},
{itemValue: true, itemText: "Yes"},
{itemValue: false, itemText: "&nbsp"}
];

任何优雅的方式都可以做到这一点。

Any elegant way to doing this appreciated.

推荐答案

使用 true / false 布尔支持:

var listItems = [];
var yourString = ":All;true:Yes;false:&nbsp";

var arr = yourString.split(";");
for (var i = 0; i < arr.length; i++) {
    var arr2 = arr[i].split(":");
    var value = arr2[0] || "";
    if (value == "true" || value == "false")
        value = (value === "true");
    listItems.push({
        itemValue : value,
        itemText : arr2[1] || ""
    });
}

console.log(listItems);

DEMO: http://jsfiddle.net/MZKFU/1/

UPDATE。对于通用值解析,您可以使用 JSON.parse 方法 try / catch 阻止,如 Esailija的答案中所示。

UPDATE. For universal value parsing you can use JSON.parse method with try/catch block, as presented in Esailija's answer.

DEMO: http://jsfiddle.net/MZKFU/2/

这篇关于将字符串转换为javascript对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆