javascript - 在nodejs中解析具有格式键值的数组

标签 javascript json node.js

我从 ajax 调用中收到以下格式的 JSON 到我的 nodeJS 应用程序;我收到一个数组并使用它发送它

$.ajax({
                    type:'POST',
                    url:'/check',
                            data:JSON.stringify(array1),
                            contentType: "application/json; charset=utf-8",
                            dataType: "json"})  
    })

我收到的信息如下:

[{ key: 'name',  value: 'lorem ipsum' }
{ key: 'language', value: 'en' }
{ key: 'color', value: 'red' } 
{ key: 'resolution', value: [ 1920, 1080 ] } ]

我想将每个值保存在变量中,如下所示:

app.post('/check', function(req, res) 
{   
    var obj = req.body;
    var keys = Object.keys(obj);
    for (var i = 0; i < keys.length; i++) { 
       console.log(keys[i])

       //   what i want to do:
       //   if (keys[i] == 'name') {
       //   var name = value of this key, 
       //   in this example 
       //   var name = "lorem ipsum" 
       //   var language = "en" 
       //   var color = "red" 
       //   var resolution = [ 1920, 1080 ]            
    }
    res.send("ok");
});

我不知道如何循环遍历 JSON 的键并在代码中关联键的值

目前 console.log(keys[i]) 返回一个索引号,这对我来说没有用

最佳答案

尝试使用正则表达式来解析您的输入的代码片段:

var myString = `{ key: 'name',  value: 'lorem ipsum' }
{ key: 'language', value: 'en' }
{ key: 'color', value: 'red' } 
{ key: 'resolution', value: [ 1920, 1080 ] }`;
var myRegexp = /(?:key: ')([a-z]*)(?:')/g;
match = myRegexp.exec(myString);
while (match) {
  console.log(match[1])
  match = myRegexp.exec(myString);
}

关于javascript - 在nodejs中解析具有格式键值的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50563277/

相关文章:

javascript - 如何定义从 2D 数组生成的对象的 id

java - 使用Java将Excel数据导入Mongodb

node.js - 每当子创建云函数实时数据库时添加父子

node.js - 如何为应用程序node.js和create-react-app运行作业jenkins

javascript - Nodejs Promise 序列的问题

javascript - 如何通过 child 的ID查找 parent 的ID

Javascript OOP,从其他嵌套方法访问方法

javascript - 如何在 Electron 中使用文件对话框?

php - 将json数据更新到db中

php - 使用 PHP 将 txt 数据文件转换为结构化 JSON