Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTTP POST非标准JSON(MongoDB文档格式)_Javascript_Json_Node.js_Mongodb_Express - Fatal编程技术网

Javascript HTTP POST非标准JSON(MongoDB文档格式)

Javascript HTTP POST非标准JSON(MongoDB文档格式),javascript,json,node.js,mongodb,express,Javascript,Json,Node.js,Mongodb,Express,我有一个Mongo管理UI,我试图将一个完整格式的MongoDB文档(例如:可能包含ObjectId、ISODate元素)发送到ExpessJS服务器,以便插入/更新文档。我面临的问题是,由于语法不是标准JSON,bodyParser在执行JSON.parse()时返回http代码400-错误请求 我是不是错过了一些很明显的东西?我考虑过以纯文本的形式发送帖子,然后自己解析并在ExpressJs端创建一个对象。不过,我真的不想使用自己的自定义JSON解析器。有什么提示吗?因为,当您将bson转换

我有一个Mongo管理UI,我试图将一个完整格式的MongoDB文档(例如:可能包含ObjectId、ISODate元素)发送到ExpessJS服务器,以便插入/更新文档。我面临的问题是,由于语法不是标准JSON,bodyParser在执行JSON.parse()时返回http代码400-错误请求


我是不是错过了一些很明显的东西?我考虑过以纯文本的形式发送帖子,然后自己解析并在ExpressJs端创建一个对象。不过,我真的不想使用自己的自定义JSON解析器。有什么提示吗?

因为,当您将bson转换为json时,bson反序列化程序会向json添加类型信息。这是普通JSON解析器无法识别的。您应该使用mongodb扩展json解析器

严格模式。BSON类型的严格模式表示符合JSON RFC。任何JSON解析器都可以将这些严格模式表示解析为键/值对;但是,只有MongoDB内部JSON解析器能够识别格式传递的类型信息


检查。

我理解BSON vs JSON,但我仍然不知道如果这些数据无法通过JSON.parse(),应该如何将其发送到我的后端?是否有一个库可以在向后端发送HTTP POST之前转换为严格模式BSON?符合json RFC的json格式BSON类型不是非法的。所以你可以通过。我不确定他们会通过。如果我做一个JSON.parse(),如果有ObjectID()或ISODate(),它就会失败。啊,这似乎就是我要找的。谢谢你带我走了这么远。是否有一个库可以根据您所知的本文档进行转换我自己没用,但你可以检查一下