node.jsrows_data如何拆分嵌套的json字符串并将其推送到同一个json对象



NATIVE使用node.js API从数据库获取数据,我得到的数据是嵌套的JSON字符串格式,主要是"file_Name":"3.jpg,2.jpg,1.jpg",但是我想要嵌套JSON数组格式的"file_Name":["3.jpg"、"2.jpg"one_answers"1.jpg"],我试着使用for循环和push,通过使用for循环,我从rows_Data中找到了数组,但我不知道如何将其推送到rows_Data。

一旦请检查代码,如果有人知道任何替代解决方案,请帮助我。,


rows_Data =  [{
"id": 4,
"user_id": 2,
"description": " Hi How are you ",
"post_type": 0,
"created_date": "2019-01-28T19:30:49.000Z",
"name": "sankar ",
"mobile": 9985849966,
"picture_url": "2.jpg",
"post_id": 4,
"saved_name": "9.jpg",
"file_Name": "10.jpg,9.jpg"
}, {
"id": 3,
"user_id": 1,
"description": " Working a Fine ",
"post_type": 0,
"created_date": "2019-01-25T18:40:41.000Z",
"name": "Sivasankar",
"mobile": 9985849955,
"picture_url": "5.jpg",
"post_id": 3,
"saved_name": "8.jpg",
"file_Name": "7.jpg,8.jpg"
}, {
"id": 2,
"user_id": 1,
"description": " Hello hi",
"post_type": 1,
"created_date": "2019-01-21T12:51:16.000Z",
"name": "Sivasankar",
"mobile": 9985849955,
"picture_url": "5.jpg",
"post_id": 2,
"saved_name": "4.jpg",
"file_Name": "6.jpg,5.jpg,4.jpg"
}, {
"id": 1,
"user_id": 1,
"description": " Hi How are you ",
"post_type": 0,
"created_date": "2019-01-21T12:50:51.000Z",
"name": "Sivasankar",
"mobile": 9985849955,
"picture_url": "5.jpg",
"post_id": 1,
"saved_name": "1.jpg",
"file_Name": "3.jpg,2.jpg,1.jpg"
}]

console.log(rows_Data);
var copy= []; ; 
var res_ = {};
var file_Name ={};
var result = {};
for (let i = 0; i < rows_Data.length; i++) {
copy.push(rows_Data[i].file_Name);
for (let j = 0; j < copy.length; j++) {
res_[j] = copy[j].split(",");           
for (let k = 0; k < res_.length; j++) {
rows_Data[k].file_Name.push(res_[k]);
} 
} 
}
console.log(copy); 
console.log( res_);
console.log(rows_Data)

要求输出

rows_Data =  [{
"id": 4,
"user_id": 2,
"description": " Hi How are you ",
"post_type": 0,
"created_date": "2019-01-28T19:30:49.000Z",
"name": "sankar ",
"mobile": 9985849966,
"picture_url": "2.jpg",
"post_id": 4,
"saved_name": "9.jpg",
"file_Name": ["10.jpg",9.jpg"]
}, {
"id": 3,
"user_id": 1,
"description": " Working a Fine ",
"post_type": 0,
"created_date": "2019-01-25T18:40:41.000Z",
"name": "Sivasankar",
"mobile": 9985849955,
"picture_url": "5.jpg",
"post_id": 3,
"saved_name": "8.jpg",
"file_Name": ["7.jpg","8.jpg"]
}, {
"id": 2,
"user_id": 1,
"description": " Hello hi",
"post_type": 1,
"created_date": "2019-01-21T12:51:16.000Z",
"name": "Sivasankar",
"mobile": 9985849955,
"picture_url": "5.jpg",
"post_id": 2,
"saved_name": "4.jpg",
"file_Name": ["6.jpg","5.jpg","4.jpg"]
}, {
"id": 1,
"user_id": 1,
"description": " Hi How are you ",
"post_type": 0,
"created_date": "2019-01-21T12:50:51.000Z",
"name": "Sivasankar",
"mobile": 9985849955,
"picture_url": "5.jpg",
"post_id": 1,
"saved_name": "1.jpg",
"file_Name": ["3.jpg", "2.jpg", "1.jpg"]
}]

您可以使用.map():

rows_Data = rows_Data.map((entry) => ({ ...entry, file_Name: entry.file_Name.split(',') }));

示例:

let rows_Data =  [{
"id": 4,
"user_id": 2,
"description": " Hi How are you ",
"post_type": 0,
"created_date": "2019-01-28T19:30:49.000Z",
"name": "sankar ",
"mobile": 9985849966,
"picture_url": "2.jpg",
"post_id": 4,
"saved_name": "9.jpg",
"file_Name": "10.jpg,9.jpg"
}, {
"id": 3,
"user_id": 1,
"description": " Working a Fine ",
"post_type": 0,
"created_date": "2019-01-25T18:40:41.000Z",
"name": "Sivasankar",
"mobile": 9985849955,
"picture_url": "5.jpg",
"post_id": 3,
"saved_name": "8.jpg",
"file_Name": "7.jpg,8.jpg"
}, {
"id": 2,
"user_id": 1,
"description": " Hello hi",
"post_type": 1,
"created_date": "2019-01-21T12:51:16.000Z",
"name": "Sivasankar",
"mobile": 9985849955,
"picture_url": "5.jpg",
"post_id": 2,
"saved_name": "4.jpg",
"file_Name": "6.jpg,5.jpg,4.jpg"
}, {
"id": 1,
"user_id": 1,
"description": " Hi How are you ",
"post_type": 0,
"created_date": "2019-01-21T12:50:51.000Z",
"name": "Sivasankar",
"mobile": 9985849955,
"picture_url": "5.jpg",
"post_id": 1,
"saved_name": "1.jpg",
"file_Name": "3.jpg,2.jpg,1.jpg"
}]
rows_Data = rows_Data.map((entry) => ({ ...entry, file_Name: entry.file_Name.split(',') }));
console.log(rows_Data);

为什么不修改原始数组,使用可以轻松完成

rows_Data.forEach(r =>r.file_Name = r.file_Name.split(","));       

或者,如果你想保持原始值,只需添加一个新的属性

rows_Data.forEach(r =>r.file_NameArray = r.file_Name.split(","));       

rows_Data =  [{
"id": 4,
"user_id": 2,
"description": " Hi How are you ",
"post_type": 0,
"created_date": "2019-01-28T19:30:49.000Z",
"name": "sankar ",
"mobile": 9985849966,
"picture_url": "2.jpg",
"post_id": 4,
"saved_name": "9.jpg",
"file_Name": "10.jpg,9.jpg"
}, {
"id": 3,
"user_id": 1,
"description": " Working a Fine ",
"post_type": 0,
"created_date": "2019-01-25T18:40:41.000Z",
"name": "Sivasankar",
"mobile": 9985849955,
"picture_url": "5.jpg",
"post_id": 3,
"saved_name": "8.jpg",
"file_Name": "7.jpg,8.jpg"
}, {
"id": 2,
"user_id": 1,
"description": " Hello hi",
"post_type": 1,
"created_date": "2019-01-21T12:51:16.000Z",
"name": "Sivasankar",
"mobile": 9985849955,
"picture_url": "5.jpg",
"post_id": 2,
"saved_name": "4.jpg",
"file_Name": "6.jpg,5.jpg,4.jpg"
}, {
"id": 1,
"user_id": 1,
"description": " Hi How are you ",
"post_type": 0,
"created_date": "2019-01-21T12:50:51.000Z",
"name": "Sivasankar",
"mobile": 9985849955,
"picture_url": "5.jpg",
"post_id": 1,
"saved_name": "1.jpg",
"file_Name": "3.jpg,2.jpg,1.jpg"
}]
console.log(rows_Data);
rows_Data.forEach(r =>r.file_Name = r.file_Name.split(","));       
console.log(rows_Data)

最新更新