包含对象/数组的变量和值的字符串

时间:2014-05-17 00:40:20

标签: javascript json

白色迭代JSON数据,我将一些变量作为具有属性名称和值的扁平字符串

第1行

"propertyurl: http://link1, imageurl: http://image1.jpg"

第2行

"propertyurl: http://link2, imageurl: http://image2.jpg"

第3行

"propertyurl: http://link3, imageurl: http://image3.jpg"

我喜欢拆分并返回一个对象,如下所示(基本上是JSON格式)

{ propertyurl: "link1", imageurl: "image2.jpg" }

我已经尝试了

for(var i=0; i<entries.length; i++) {
    console.log(JSON.parse(entries[i].content.$t));
}

编辑: 将http://添加到链接

2 个答案:

答案 0 :(得分:1)

如果字符串格式 可预测,则将逗号分隔为逗号和冒号:

var s = "propertyurl: link3, imageurl: image2.jpg"; // One of the rows you've shown in the OP
var obj = {};
s.split(",").forEach(function (property) {
    var kv = property.split(": ");      
    obj[kv[0].trim()] = kv[1].trim();
});

基本上你正在做的是循环遍历字符串并分配obj所显示的值,然后你可以使用它们。

编辑: 冒号后添加空格

答案 1 :(得分:0)

您的json字符串缺少引号且无效json。 image2.jpg不是“image2.jpg”。

您需要JSON.parse('{"propertyurl": "link3", "imageurl": "image2.jpg"}');