将Javascript字符串或数组转换为JSON对象

时间:2013-03-27 08:11:05

标签: javascript json

我有一个逗号分隔字符串值的JavaScript变量 - 即value1,value2,value3, ......,valueX,

我需要将此变量的值转换为JSON对象。然后,我将使用此对象通过使用filterObj.hasOwnProperty(search)

来匹配用户的enteredText值

请帮我解决这个问题。

4 个答案:

答案 0 :(得分:3)

您似乎想要的是从您的字符串构建一个JavaScript对象,该对象将充当地图,以便您可以有效地测试内部的值。

你可以这样做:

var str = 'value1,value2,value3,valueX';
var map = {};
var tokens = str.split(',');
for (var i=tokens.length; i--;) map[tokens[i]]=true;

然后你可以测试一个值是否存在:

if (map[someWord]) {
    // yes it's present
}

答案 1 :(得分:2)

为什么选择JSON?您可以使用split(",")将其转换为数组。

var csv = 'value1,value2,value3';
var array = csv.split(",");
console.log(array); // ["value1", "value2", "value3"]

使用array[i]访问它应该可以胜任。

for (var i = 0; i < array.length; i++) {
    // do anything you want with array[i]
}

JSON is used for data interchanging.除非您想与其他语言进行通信或传递一些数据,否则当您在单个页面上使用JavaScript进行处理时,无需使用JSON。

答案 2 :(得分:0)

JavaScript有 JSON.stringify()方法将对象转换为JSON字符串,类似地 JSON.parse()将其转换回来。阅读更多相关信息

  

All about JSON : Why & How

干杯!!

答案 3 :(得分:-1)

JSON格式需要(单维或多维)键,值对列表。您不能只将逗号分隔列表转换为JSON格式。您需要指定密钥。

实施例,

[
  {"key":"value1"},
  {"key":"value2"},
  {"key":"value3"},
  ...
  {"key":"valueX"}
]

我认为根据您的要求,您可以使用Array。