Node.js 如何在json对象中读取字符串属性

Node.js 如何在json对象中读取字符串属性,node.js,Node.js,我有一个身体要求,我需要处理: { “事件”:“消息”, “令牌”:“957fa13859e06b22b96060ab97df934e5aec0ca02c432”, “uid”:“, “联系人[uid]:”, “联系人[姓名]:”, “联系人[类型]:“用户”, “消息[dtm]:“1530022083”, “消息[uid]:“87FA901709E3C05CCB0270B6B3C893AF”, “消息[cuid]:”, “message[dir]”:“i”, “消息[类型]:”聊天“, “消

我有一个身体要求,我需要处理:

{
“事件”:“消息”,
“令牌”:“957fa13859e06b22b96060ab97df934e5aec0ca02c432”,
“uid”:“,
“联系人[uid]:”,
“联系人[姓名]:”,
“联系人[类型]:“用户”,
“消息[dtm]:“1530022083”,
“消息[uid]:“87FA901709E3C05CCB0270B6B3C893AF”,
“消息[cuid]:”,
“message[dir]”:“i”,
“消息[类型]:”聊天“,
“消息[正文][文本]:”,
“消息[ack]:“3”

}
我知道这里发生了什么

您使用了一个函数将querystring转换为JSON,但您使用的函数仅适用于平面querystring(无嵌套变量)

因为您使用的是Node.JS,所以应该试试

它需要这样一个查询字符串:

{
    event: 'message',
    token: '957fa13859e06b22b96060ab97df934e5aec0ca02c432',
    uid: '',
    contact: { uid: '', name: '', type: 'user' },
    message: {
        dtm: '1530022083',
        uid: '87FA901709E3C05CCB0270B6B3C893AF',
        cuid: '',
        dir: 'i',
        type: 'chat',
        body: {
            text: ''
        },
        ack: '3'
    }
}
event=message&token=957fa13859e06b22b96060ab97df934e5aec0ca02c432&uid=&contact[uid]=&contact[name]=&contact[type]=用户和消息[dtm]=153002083&message[uid]=87FA901709E3C05CCB0270B6B3C893AF&message[cuid]=&message[dir]=i&message[type]=聊天和消息[body][text]=&message[ack]=3

并生成一个JSON对象,如下所示:

{
    event: 'message',
    token: '957fa13859e06b22b96060ab97df934e5aec0ca02c432',
    uid: '',
    contact: { uid: '', name: '', type: 'user' },
    message: {
        dtm: '1530022083',
        uid: '87FA901709E3C05CCB0270B6B3C893AF',
        cuid: '',
        dir: 'i',
        type: 'chat',
        body: {
            text: ''
        },
        ack: '3'
    }
}
仅使用以下代码:

const qs = require("qs");

let querystring = "event=message&token=957fa13859e06b22b96060ab97df934e5aec0ca02c432&uid=&contact[uid]=&contact[name]=&contact[type]=user&message[dtm]=1530022083&message[uid]=87FA901709E3C05CCB0270B6B3C893AF&message[cuid]=&message[dir]=i&message[type]=chat&message[body][text]=&message[ack]=3";
let JSONquery = qs.parse(querystring);

console.log(JSONquery);

希望能有所帮助。

这是JSON和querystring的奇怪组合。通常,如果请求是“Content-Type:application/json”,您应该发送
{{contact:{uid:'',name:'',Type:'user'},消息:{dtm:'…',uid:','cuid:'''.}
,或者如果请求是
contact[uid]=''&contact[name]='
我认为你的问题在于,当你将一个查询字符串转换为JSON时,你没有正确的方法。它是有效的!谢谢你的帮助。我知道这必须是非常简单的。我感谢你的帮助。祝你有一个美好的一天,也祝你愉快。^^,祝你有一个美好的一天。别忘了将答案标记为解决了你的问题,以便人们能够同样的问题也可以从中受益。