javascript - node.js 将嵌套 json 字符串转换为嵌套 json 数组

标签 javascript mysql node.js

我正在使用 NODE.js MYSQL 为 REACT-NATIVE 应用程序编写 API, 我正在使用两个表 posts[user_id,post_id,description,created_date] 和 files[post_id,saved_name],我加入这两个表并将 saving_name 列分组为 file_Name,

但是我的 mysql 查询结果有问题,它采用 json 字符串格式,但我希望它采用 JSON ARRAY 格式,一旦检查 put put

#Current Out PUT  
    {
        "status": 200,
        "error": null,
        "res_posts": [{
            "post_id": 3,
            "user_id": 1,
            "description": " Working a Fine ",
            "post_type": 0,
            "created_date": "2019-01-25T18:40:41.000Z",
            "saved_name": "8.jpg",
            "file_Name": "7.jpg,8.jpg"
        }, {
            "post_id": 2,
            "user_id": 1,
            "description": " Hello hi",
            "post_type": 1,
            "created_date": "2019-01-21T12:51:16.000Z",
            "saved_name": "4.jpg",
            "file_Name": "6.jpg,5.jpg,4.jpg"
        }, {
            "post_id": 1,
            "user_id": 1,
            "description": " Hi How are you ",
            "post_type": 0,
            "created_date": "2019-01-21T12:50:51.000Z",
            "saved_name": "1.jpg",
            "file_Name": "3.jpg,2.jpg,1.jpg"
        }]
    }





 #Required OUT PUT:


{
    "status": 200,
    "error": null,
    "res_posts": [{
        "post_id": 3,
        "user_id": 1,
        "description": " Working a Fine ",
        "post_type": 0,
        "created_date": "2019-01-25T18:40:41.000Z",
        "saved_name": "8.jpg",
        "file_Name": ["7.jpg", "8.jpg"]
    }, {
        "post_id": 2,
        "user_id": 1,
        "description": " Hello hi",
        "post_type": 1,
        "created_date": "2019-01-21T12:51:16.000Z",
        "saved_name": "4.jpg",
        "file_Name": ["6.jpg","5.jpg","4.jpg"]
    }, {
        "post_id": 1,
        "user_id": 1,
        "description": " Hi How are you ",
        "post_type": 0,
        "created_date": "2019-01-21T12:50:51.000Z",
        "saved_name": "1.jpg",
        "file_Name": ["3.jpg","2.jpg","1.jpg"]
    }]
}
 MYSQL OUTPUT : "file_Name": "3.jpg,2.jpg,1.jpg"     
 My Required OUT PUT: "file_Name": ["3.jpg","2.jpg","1.jpg"]

``````````````````````````````

i had a problem with file_Name out put it comes in string format but i want it in array , So please anyone help me in this to get required output .

最佳答案

您可以在结构上绘制 map 。

const outputJson = `{
  "status": 200,
  "error": null,
  "res_posts": [{
      "post_id": 3,
      "user_id": 1,
      "description": " Working a Fine ",
      "post_type": 0,
      "created_date": "2019-01-25T18:40:41.000Z",
      "saved_name": "8.jpg",
      "file_Name": "7.jpg,8.jpg"
  }, {
      "post_id": 2,
      "user_id": 1,
      "description": " Hello hi",
      "post_type": 1,
      "created_date": "2019-01-21T12:51:16.000Z",
      "saved_name": "4.jpg",
      "file_Name": "6.jpg,5.jpg,4.jpg"
  }, {
      "post_id": 1,
      "user_id": 1,
      "description": " Hi How are you ",
      "post_type": 0,
      "created_date": "2019-01-21T12:50:51.000Z",
      "saved_name": "1.jpg",
      "file_Name": "3.jpg,2.jpg,1.jpg"
  }]
}`;

const parsedJson = JSON.parse(outputJson);
parsedJson.res_posts = parsedJson.res_posts.map(item => {
  item.file_Name = item.file_Name.split(',');
  return item;
});

document.getElementById('content').innerHTML = JSON.stringify(parsedJson);
console.log(parsedJson);
<pre id="content"></pre>

关于javascript - node.js 将嵌套 json 字符串转换为嵌套 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58473352/

相关文章:

javascript - v-for 不呈现任何值

javascript - SVGforeignObject没有捕获onClick事件(ReactJS)

javascript - 使用 Jest 假计时器进行所有测试

javascript - Riot.mount(*) 没有任何效果

mysql - Sequelize 迁移服务器连接两个数据库

mysql - 如果我期望的话,最好的 mysql 排序规则 ñ ü ï á é í ó ú

java - 如何使用 Java 将表从 MySQL 导入到 Hive?

javascript - Node.js 变量声明和范围

javascript - 从 package.json 运行 Node.js 命令

node.js - 并行多次调用 lambda 似乎是在 50 个并发批处理中执行,而不是使用更高指定的保留并发数