在PHP中读取MongoDB返回的Json

在PHP中读取MongoDB返回的Json,php,json,mongodb,Php,Json,Mongodb,我有一个任务要从json文件中找出ER这是一条记录 { "__v" : 0, "_id" : ObjectId( "52210bf6880b9f0200000003" ), "email" : "", "emailFrequency" : "instant", "feedbackRating" : 0, "field_aboutMe" : "On Fridays I like to eat apples.", "field_contact" : "me@matt.is", "field_intr

我有一个任务要从json文件中找出ER这是一条记录

{ "__v" : 0, "_id" : ObjectId( "52210bf6880b9f0200000003" ), "email" : "", "emailFrequency" : "instant", "feedbackRating" : 0, "field_aboutMe" : "On Fridays I like to eat apples.", "field_contact" : "me@matt.is", "field_intro" : "Sparkboard bug-fixer. Co-founded Hacking Health, Bodo Wellness, and BrainTripping.", "first_time" : false, "hash" : "", "name" : "Matt Huebert", "picture" : "https://www.ssss.com", "ready" : true, "roles" : [ "admin" ], "email" : "", "tags" : [ "Developer", "Designer", "Mentor" ], "updatedAt" : Date( 1384115378947 ), "votesByDomain" : { "sadsard-com" : "525eadf50f13910200000004" } }
经过搜索,我发现它与MongoDB有关。我需要解析这些数据以找出其中的实体。当我检查它的验证时,它不是一个有效的json,因为它是由mongo db生成的。 请问有谁知道吗

我也试过这个

$data = file_get_contents('json/users.json');
bson_decode($data);
也尝试了json_解码,但它也不工作并返回NULL

我在尝试解码时遇到此错误


致命错误:未捕获异常“MongoException”,消息“类型0x5f不受支持”

不确定是什么将其转储到您的json文件中,可能来自mongo shell的stdout,但这部分是问题所在:

ObjectId( "52210bf6880b9f0200000003" )
为了使每一行都有效,您需要删除包装的“ObjectId(“and closing brace”)”。过滤后,您将得到有效的JSON


如果您知道谁向您提供了这些文件,并且无法直接使用mongodb数据源,请让他们使用,这至少会从一开始就为您提供有效的JSON。

应该是
JSON\u decode
。这是一个打字错误。jsond_解码不起作用并返回null…因为这不是一个正常的json文件,我也尝试过,这也不是json,但BSON所以json_解码永远不会起作用。尝试过BSON_解码,日期(“”)也是一样。。这不是有效的JSON。这看起来像MongoDB shell使用的“扩展json”。在这里混合使用扩展JSON、JSON和BSON,一次完成就是。。。令人困惑:)-使用mongoexport转换为json并使用json_decode(),就像Neil建议的那样,这会让事情变得简单很多