【问题标题】:How to store json array elements into one table in sqlite db如何将json数组元素存储到sqlite db中的一张表中
【发布时间】:2016-11-10 09:47:45
【问题描述】:

我想通过一个 pojo 类将这些数据存储到一个表中。所以通过这种理解,我可以将它与两个单独的表相关联。但是根据要求,我必须将它保存在一个表中。我不想将它保存到两个单独的表中。如何实现这一点? (我只需要这里的逻辑..我不期待代码级别)

编辑部分

如您所见,没有通用参数可以将这些数据在未来与单独的表相关联

 {
        "createDate": 1339957800000,
        "modifyDate": 1341197519000,
        "createdBy": "aaa",
        "modifiedBy": "ddd",
        "status": "A",
        "description": "ffff",
        "parentId": null,
        "sourceId": null,
        "source_Field1": null,
        "source_Field2": null,
        "source_Field3": null,
        "source_Field4": null,
        "source_Field5": null,
        "parentKey": null,
        "parentValue": null,
        "genericMasterView":
        {
            "key": "MOD_ONE",
            "value": "195"
        }
    },

【问题讨论】:

  • 任何理由为什么它必须是一个表的要求 - 从这里它只是一个超过 2 个表的一对多关系?
  • @cryptic 这个 json 有一对多的关系,应该存储在两个表中,但也可以存储在一个表中,但如果你想我可以演示一下,带有冗余数据。
  • @cryptic:您可以将 json 转换为字符串并将其保存在数据库中。获取时,获取字符串数据并将其转换为 jsonobject :)
  • 我在这里实现了 volley if(response!=null) { if(response.length>0) { DbHelper.getDatabase(SplashActivity.this).insertMasterData(Arrays.asList(response)); } } 使用 pojo 类。保持与 json 响应体相似的名称
  • @rana_sadam 请提出您的建议..谢谢

标签: android json sqlite


【解决方案1】:

第一个建议是创建一个有 2 列的表,一个是键,另一个是值键包含任何唯一的字符串键,代表您的数据,值包含您的 json 提要作为字符串

其他建议是创建一个将所有键作为列的表,但键 genericMasterView 将容纳 2 列 genericMasterView_KEY 和 genericMasterView_value 解析您的json 并在数据库中输入记录。希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    • 2012-10-12
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多