简体   繁体   English

面临将 JavaScript 字符串转换为 JavaScript object 的问题

[英]Facing issue converting JavaScript string to JavaScript object

I am trying to convert javscript string to Object using JSON.Parse我正在尝试使用 JSON.Parse 将 javscript 字符串转换为 Object

here is the code snippet这是代码片段

 var row = '{ "key1": true, "header": "Title A", "Size": 100}';
 $.each(elements, function (i, item) {
    let headerDisplay = '';
    headerDisplay =  this.title;
    row+=',';
     row += '{ "key1": true, "header": "'+headerDisplay+'", "Size": 100}';
    
  });
  var object=JSON.parse(row);

Iam getting below error我低于错误

Unexpected token , in JSON at position 177

Please let me know what could be issue and how can i convert string to object.请让我知道可能是什么问题以及如何将字符串转换为 object。

I am expecting output similar to Expecting output similar to我期待 output 类似于 期待 output 类似于

var finalObject = [
    { "key1": true, "header": "Title A", "Size": 100 },
    { "key1": true, "header": "Title1", "Size": 100 },
    { "key1": true, "header": "Title2", "Size": 100 },
    ...
]

The code in the question shows no reason to involve JSON:问题中的代码显示没有理由涉及 JSON:

let finalObject = [
    {
        key1: true,
        header: "Title A",
        Size: 100,
    },
];

$.each(elements, (i, item) => {
    finalObject.push({
        key1: true,
        header: item.title,
        Size: 100,
    });
});

Consider making an Array and then populating the array.考虑制作一个数组,然后填充该数组。

 var elements = [{ title: "Item B" }, { title: "Item C" }]; var row = []; row.push(JSON.parse('{ "key1": true, "header": "Title A", "Size": 100 }')); $.each(elements, function(i, item) { row.push({ key1: true, header: item.title, Size: 100 }); }); console.log("Final:", row);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

References:参考:

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM