我有一个逗号分隔字符串值的JavaScript变量 - 即value1,value2,value3, ......,valueX,
我需要将此变量的值转换为JSON对象。然后,我将使用此对象通过使用filterObj.hasOwnProperty(search)
请帮我解决这个问题。
答案 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()将其转换回来。阅读更多相关信息
干杯!!
答案 3 :(得分:-1)
JSON格式需要(单维或多维)键,值对列表。您不能只将逗号分隔列表转换为JSON格式。您需要指定密钥。
实施例,
[
{"key":"value1"},
{"key":"value2"},
{"key":"value3"},
...
{"key":"valueX"}
]
我认为根据您的要求,您可以使用Array。