使用 SQLite API 将 API 输出 (JSON) 插入 SQLite
Posted
技术标签:
【中文标题】使用 SQLite API 将 API 输出 (JSON) 插入 SQLite【英文标题】:Inset API output (JSON) into SQLite using SQLite API 【发布时间】:2018-03-19 08:54:24 【问题描述】:我正在使用 Firebase 来存储我的数据。我有一个 JSON 格式的 Firebase 输出-->
https://fundeasy-b6187.firebaseio.com/Test.json
"iID":15,"vValue":"K"
我想使用 SQLite 命令来选择它。 SQLite 具有 json_extract 和 json_set 功能。这些可以用来直接从我的 JSON 输出中选择数据吗?
【问题讨论】:
你要选择???什么? 您好,我的 JSON 输出 (fundeasy-b6187.firebaseio.com/Test.json) 有两个参数 iID 和 vValue。他们的价值观每天都会改变。我想使用 SQLite 查询从 JSON 中选择当前的 iID 和 vValue 参数。 为什么不直接使用 Java 默认类中的 JSON 本身,称为 JSONObject、JSONarray 等。为什么选择 sqlite? 我正在使用第三方服务来开发我的 android 应用程序。我无法访问这里的大部分代码。我只能用自定义代码定义 SQLite API。因此,我想知道是否有办法在 SQLite 中实现它。 我不知道sqlite中是否有json扩展,所以我去查看文档,我已经给你写了一个答案!滚动查看! 【参考方案1】:根据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');
有关 sqlite 的提取函数和 json 扩展的更多信息,例如提取 json 数组或 json 中的项目 数组check this link。快乐编码!
【讨论】:
非常感谢您的深入解释。这真的很有帮助。我会尝试解决方案。 给它一个赞成票并接受它作为你在左侧问题的答案! 您好,我已接受它作为我问题的答案。我无法投票,因为我没有足够的声望点。非常感谢您的帮助:)【参考方案2】:是的,他们可以。 假设你需要提取iID你可以使用下面的代码
' SELECT JSON_EXTRACT('"iID":15,"vValue":"K"', '你的变量');'
查看以下链接了解更多 customization
【讨论】:
您好 Vidya,非常感谢您的回答。在这种情况下,我的 JSON 输出每天都会发生变化,即fundeasy-b6187.firebaseio.com/Test.json 将具有不同的 iID 和 vValue 值。如何定义查询,以便从我的 JSON 输出 (fundeasy-b6187.firebaseio.com/Test.json) 中获取 iID 和 vValue 的变量值以上是关于使用 SQLite API 将 API 输出 (JSON) 插入 SQLite的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python sqlite3 API 的表、数据库模式、转储等列表