【问题标题】:How do you convert JSON Blob into Columns and Values如何将 JSON Blob 转换为列和值
【发布时间】:2018-01-31 11:47:35
【问题描述】:

我有一个VP/MS MySQL 表,其中包含一个包含唯一标识符的“ref”列和一个基本上包含 BLOB 格式的完整 JSON 响应消息的“request”列。消息如下所示:

{
    "vars": {

    },
    "computes": {
        "P_PRERefId_str": {
            "=": "12421321"
        },
        "P_PolicyNumber_str": {
            "=": "1234567890"
        },
        "P_YearlyPolicyFeeAmt_rea": {
            "=": "70.56"
        }
    }
}

有没有一种方法可以将 JSON 键值对提取到 3 列和对应的值中,例如:

P_PRERefId_str   P_Policy    P_YearlyPolicyFeeAmt_rea
12421321         1234567890  70.56

【问题讨论】:

标签: mysql json


【解决方案1】:

这可能是您正在寻找的。首先,将您的 JSON 转换为 PHP 对象。

$myObject = json_decode('{
    "vars": {},
    "computes": {
        "P_PRERefId_str": {
            "=": "12421321"
        },
        "P_PolicyNumber_str": {
            "=": "1234567890"
        },
        "P_YearlyPolicyFeeAmt_rea": {
            "=": "70.56"
        }
    }
}');

然后,遍历“computes”属性并将属性插入到您的数据库中。

foreach ($myObject->computes as $column => $attr) {
    foreach ($attr as $equalSign => $val) {
    // INSERT $val INTO $column
    // Depending on your Driver (PDO, framework ORM)
    // Your code will differ here
}};

【讨论】:

  • 感谢基里尔 - 我应该补充一点,在 1-10 的技术素养等级上,我会是 2;并且我正在寻找使用 MySQL Workbench 将存储在表的 blob 字段中的 JSON 消息提取到一个列标题行中,该行具有基于 JSON 键的多个列,以及它们在下面相关行中的相应值。
猜你喜欢
  • 2020-07-11
  • 1970-01-01
  • 2020-05-13
  • 2017-11-20
  • 2018-08-05
  • 2012-10-02
  • 2016-09-20
  • 2021-07-27
  • 2013-06-28
相关资源
最近更新 更多