Javascript 带有变量和值的字符串到对象/数组
在遍历JSON数据时,我将一些变量作为带有属性名和值的平面字符串 第1行 第2排 第3排 我希望拆分并返回一个对象,如下所示(基本上是JSON格式) 我试过了Javascript 带有变量和值的字符串到对象/数组,javascript,json,Javascript,Json,在遍历JSON数据时,我将一些变量作为带有属性名和值的平面字符串 第1行 第2排 第3排 我希望拆分并返回一个对象,如下所示(基本上是JSON格式) 我试过了 for(var i=0; i<entries.length; i++) { console.log(JSON.parse(entries[i].content.$t)); } for(var i=0;i您的json字符串缺少引号并且不是有效的json。image2.jpg不是“image2.jpg” 您需要JSON.par
for(var i=0; i<entries.length; i++) {
console.log(JSON.parse(entries[i].content.$t));
}
for(var i=0;i您的json字符串缺少引号并且不是有效的json。image2.jpg不是“image2.jpg”
您需要JSON.parse(“{”propertyurl:“link3”,“imageurl:“image2.jpg”}”);
如果字符串格式是可预测的,则在逗号和冒号上拆分行:
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
,然后您可以使用这些值
编辑:
在冒号后面添加空格@juvian I简化并在开发者工具JSON.parse中测试(“{“+”a:1,b:2“+”}”);但它抛出了一个错误,SyntaxError:Unexpected token aHe正在描述一个需要转换为对象键/值对的字符串。他并不是说JSON数据中的每个字符串都是有效的JSON。Ceres,老实说,这就是来自Google Docs电子表格的原因,简单地说,一个变量的所有列都是上面提到的平面字符串,我不能edi不管怎样,我们都可以用字符串的方式来处理,@Whymarrh的想法是正确的。有点问题,我的链接有http://,所以property.split(“:”)也在拆分链接。图像链接也是如此
"propertyurl: http://link3, imageurl: http://image3.jpg"
{ propertyurl: "link1", imageurl: "image2.jpg" }
for(var i=0; i<entries.length; i++) {
console.log(JSON.parse(entries[i].content.$t));
}
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();
});