2017-10-07 95 views
0

我正在使用Firebase存儲我的數據。我從火力地堡JSON格式輸出 - >使用SQLite API將API輸出(JSON)插入到SQLite中

https://fundeasy-b6187.firebaseio.com/Test.json

{"iID":15,"vValue":"K"} 

我想用一個SQLite命令來選擇它。 SQLite具有json_extract和json_set功能。這些可以用來直接從我的JSON輸出中選擇數據嗎?

+0

你想選擇?什麼? – Xenolion

+0

你好, 我的JSON輸出(https://fundeasy-b6187.firebaseio.com/Test.json)有兩個參數iID和vValue。他們的價值每天都會改變。 我想使用SQLite查詢從JSON中選擇當前的iID和vValue參數。 –

+0

爲什麼不直接從Java使用JSON本身默認類叫做JSONObject,JSONarray等。爲什麼要使用sqlite? – Xenolion

回答

0

這是你如何根據在JSON官方SQLite文檔。從JSON Object和你的情況JSON對象中提取一定值的方法是:

{"iID":15,"vValue":"K"} 

選擇時首先你需要知道你的JSON對象的keys,以獲取值。對於您的情況,鑰匙是iID,另一個鑰匙是vValue。請記住它們區分大小寫。

要從JSON對象獲取值,我們使用一種叫做json_extract函數,其語法是你的情況爲如下SQLite的功能:

json_extract('your json object here', '$.key_of_the_value') 

因此,對於你的情況將是:

對於IID

json_extract('your_json_object_here', '$.iID') 

而對於VVALUE

json_extract('your_json_object_here', '$.vValue') 

因此總結家居你的情況的解決方案將是:

SELECT JSON_EXTRACT('your_json_object_here', '$.iID'); 
SELECT JSON_EXTRACT('your_json_object_here', '$.vValue'); 

對於用於提取功能和JSON擴展像在JSON 陣列check this link提取JSON陣列或項目源碼更多信息。快樂編碼!

+0

非常感謝您深入解釋它。這真的很有幫助。我會嘗試解決方案。 –

+0

給它一個upvote並且接受它作爲你左邊問題的答案! – Xenolion

+0

你好,我接受它作爲我的問題的答案。由於我沒有足夠的信譽點,我無法贊成。非常感謝你的幫助:) –

0

是的,他們可以。 假設您需要提取iID,您可以使用以下代碼

'SELECT JSON_EXTRACT('{「iID」:15,「vValue」:「K」}','YOUR VARIABLE');'

請參閱以下鏈接瞭解更多 customization

+0

你好Vidya, 非常感謝您的答案。在這種情況下,我的JSON輸出將每天更改,即https://fundeasy-b6187.firebaseio.com/Test.json將具有不同的iID和vValue值。 如何定義查詢,以便從我的JSON輸出中獲取iID和vValue的變量值(https://fundeasy-b6187.firebaseio.com/Test.json) –