node.js - 使用 qs 库解析查询字符串未正确解析嵌套对象
问题描述
我正在使用qs库向节点快速服务器发送查询字符串。服务器解析结果不是我所期望的。嵌套$regex
未正确解析。我需要提供哪些选项才能获得所需的结果?
const query = {location: { $regex: '^F', $options: 'i' }};
const queryString = qs.stringify(query, { encode: false });
发送到服务器的字符串化查询:“location[$regex]=^F&location[$options]=i”
const query = qs.parse(queryString);
解析查询结果:{"location":{"$regex":"^Flocation[$options]=i"}}
预期查询结果:{"location": { "$regex": "^F", "$options": "i" }}
解决方案
问题在于发送的查询字符串。当我使用 Object.values() 在服务器端修复该问题时,它被错误地作为数组发送,它没有保留“&”字符。修复此处描述的问题解决了这个问题。
推荐阅读
- sql - 无法将 varchar 转换为日期
- angular - can i use @viewChild to access an element in a different route?
- python - Python列表上的操作
- google-cloud-platform - Google Cloud Dataflow 和 PubSub 中的 NotImplementedError
- java - Java SimpleXml。如何解析包含 Base64 编码的 xml 的 XML?
- dart - 以美元符号 ($) 开头的类名有什么特殊含义吗?
- java - found and error on HackerRank, or maybe it is not properly explain
- java-8 - Use of flat map with list of list
- ruby-on-rails - “ghost”参数被传递给控制器
- vaadin - 改变主题不是持久的 Vaadin