2016-01-04 46 views
0

我在看的Firebase REST API的文檔,它指出火力地堡REST API淺數據

淺工作。將其設置爲true以限制在某個位置返回的數據的深度。如果該位置的數據是JSON基元(字符串,數字或布爾值),則其值將簡單地返回。如果該位置的數據快照是JSON對象,則每個鍵的值將被截斷爲true。

不過,從我發現的東西看來,無論它是JSON基元還是對象,它總是將值設置爲true?

例如,從我讀我希望下面的通話

https://samplechat.firebaseio-demo.com/message_list/-K6ojd3dJQ3AVi36cruT/.json?print=pretty&shallow=true返回

{ 
    "text" : "Ahoy!", 
    "user_id" : "jack" 
} 

,而不是它返回

我在這個例子中瞭解我公司提供淺ISN不需要,因爲它是最低的水平,但是我發現這個問題也與我自己的數據在更高的水平一切都恢復真實。

有沒有辦法像使用淺參數一樣返回JSON基元的值?

回答

2

當您使用shallow=true查詢Firebase REST API時,它將返回true以查詢您所查詢的級別上的任何鍵,而不管其下面的數據的類型如何。沒有辦法改變這種行爲。

有關原始值的文檔適用於查詢更深層次的一個級別。在你的情況,如果您運行此查詢:https://samplechat.firebaseio-demo.com/message_list/-K6ojd3dJQ3AVi36cruT/text.json?print=pretty&shallow=true,你回來"Ahoy!"

所以:

  • https://samplechat.firebaseio-demo.com/message_list/-K6ojd3dJQ3AVi36cruT/.json?print=pretty

    { 
        "text" : "Ahoy!", 
        "user_id" : "jack" 
    } 
    
  • https://samplechat.firebaseio-demo.com/message_list/-K6ojd3dJQ3AVi36cruT/.json?print=pretty&shallow=true

    { 
        "text" : true, 
        "user_id" : true 
    } 
    
  • https://samplechat.firebaseio-demo.com/message_list/-K6ojd3dJQ3AVi36cruT/text.json?print=pretty&shallow=true

    "Ahoy!" 
    
+0

感謝在清除了,這是有道理的現在。 – ak85