gpt4 book ai didi

javascript 将 JSON 字符串转换为 JSON 对象

转载 作者:行者123 更新时间:2023-11-27 23:46:19 25 4
gpt4 key购买 nike

我使用 JavaScript 并循环提交表单的值,并尝试根据表单值构建子对象。

这是我需要的最终对象的示例:

{
"DataObject": {
"user": { "-name": "username" },
"contentFile": {
"-filename": "Breaking_News",
"lock": { "-fileIsBeingEdited": "false" },
"content": {
"line": [
{
"-index": "1",
"-text": "this is the header"
},
{
"-index": "2",
"-text": "this is the first line"
},
{
"-index": "3",
"-text": "this is the second line"
}
]
}
}
}
}

到目前为止,我将所有这些数据添加到一个字符串中,因为这似乎是我可以将表单值(行数组)插入到对象中间的唯一方法。

var jsonStr = '{'
+ 'iceteaDataObject: {'
+ 'user: {"-name": "hindsc52"},'
+ 'contentFile: {'
+ '"-filename": "Ticker",'
+ 'lock: { "-fileIsBeingEdited": "false" },'
+ 'content: {'
+ 'line: ['

for(var i = 0; i < elem.length; i++) {
if(!elem[i].value == '') {
jsonStr += '{'
jsonStr += "-index: " + i + ',';
jsonStr += "-text: " + elem[i].value;
jsonStr += '},'
}
}

jsonStr += ']}}}}';

console.log(JSON.parse(jsonData));

但是,当运行此命令时,我收到错误:意外的标记“i”。

我尝试使用 stringily 但随后再次输出整个刺痛。

最佳答案

您不需要或不需要 JSON,只需构建对象即可:

// Sample data
var elem = [{
value: "one"
}, {
value: "two"
}];

// Build the object
var obj = {
"DataObject": {
"user": {
"-name": "username"
},
"contentFile": {
"-filename": "Breaking_News",
"lock": {
"-fileIsBeingEdited": "false"
},
"content": {
"line": []
}
}
}
};
var line = obj.DataObject.contentFile.content.line;
elem.forEach(function(entry, index) {
if (entry.value != '') {
line.push({
"-index": index,
"-text": entry.value
});
}
});

// Show result:
document.body.innerHTML =
"<pre>" +
JSON.stringify(obj, null, 2) +
"</pre>";

<小时/>

旁注:您不会像这样检查空白字符串:

if (!entry.value == '') { // <== Incorrect

您可以使用:

if (entry.value != '') {

或者:

if (entry.value) {

关于javascript 将 JSON 字符串转换为 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33146941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com