簡體   English   中英

讀取MongoDB用PHP返回的Json

[英]Reading Json returned by MongoDB in PHP

我有一個任務要從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_decode以及它也無法正常工作並返回NULL

我在嘗試bson_decode時收到此錯誤

致命錯誤:不支持消息類型為0x5f的未捕獲異常'MongoException'

不知道是什么東西可能是從mongo shell的stdout將其轉儲到了json文件中的,但這是問題所在:

ObjectId( "52210bf6880b9f0200000003" )

您需要刪除Wrapping“ ObjectId(”和右括號“)”,以使每行均有效JSON。 過濾后,您將獲得有效的JSON。

如果您知道誰在向您提供這些文件,並且無法直接使用mongodb數據源,請要求他們使用mongoexport ,這至少將從一開始就為您提供有效的JSON。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM