【问题标题】:SQLite Query that parses JSON string in a column解析列中 JSON 字符串的 SQLite 查询
【发布时间】:2018-05-11 20:22:38
【问题描述】:

我有一个使用 ROOM 持久性构建的 SQLite 数据库来存储用户数据。 User 对象中的一个字段是一个 MAP,它作为 Json String 存储在表中

列名:“user_status”

{"user1":1, "user2":0, "user3":2, ....}

现在我想通过这个 JSON 字符串查询,根据用户的状态过滤用户列表

类似:

SELECT * FROM users WHERE status.user1 = 1

我该如何管理?

【问题讨论】:

  • 我不认为 Android 在 the JSON1 SQLite extension 中编译。如果我是正确的,那么 Android 上的 SQLite 不支持你想要的,更不用说 Room 了。
  • @CommonsWare... JSON1 会很棒,但不幸的是我找不到它的 Android 实现。

标签: android android-sqlite android-room


【解决方案1】:

我设法通过使用 LIKE 并将 JSON 数据解析为字符串来解决问题

SELECT * FROM users WHERE status LIKE '%'||:userId||'\":1%' LIMIT 1

我知道这可能不是最好的选择,但目前可行。

【讨论】:

    猜你喜欢
    • 2015-07-14
    • 1970-01-01
    • 2019-05-03
    • 2011-02-27
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    相关资源
    最近更新 更多