SQL 查询到 Google 的 JSON 格式

Posted

技术标签:

【中文标题】SQL 查询到 Google 的 JSON 格式【英文标题】:SQL query to Google's JSON format 【发布时间】:2014-10-11 02:21:24 【问题描述】:

几天前我发布了一个关于this problem的代码sn-p。我尝试从另一个方面来研究这个问题。

所以,我有一个查询,我想从它的输出中填写一个 json 文件。它包含更多记录,而不仅仅是一个。问题是,我发现/我写的所有代码只将第一条记录粘贴到带有 cols 的文件中。我认为没有关于这个问题的现有教程。

更新:示例输出:

Array (
[cols] => Array
    (
        [0] => Array
            (
                [id] => 
                [label] => Name
                [pattern] => 
                [type] => string
            )

        [1] => Array
            (
                [id] => 
                [label] => Start
                [pattern] => 
                [type] => date
            )

        [2] => Array
            (
                [id] => 
                [label] => End
                [pattern] => 
                [type] => date
            )

    )

[rows] => Array
    (
        [0] => Array
            (
                [c] => Array
                    (
                        [0] => Array
                            (
                                [v] => X
                            )

                        [1] => Array
                            (
                                [v] => Date(2014,08,18,21,00,00)
                            )

                        [2] => Array
                            (
                                [v] => Date(2014,08,18,23,00,00)
                            )

                    )

            )

        [1] => Array
            (
                [c] => Array
                    (
                        [0] => Array
                            (
                                [v] => Y
                            )

                        [1] => Array
                            (
                                [v] => Date(2014,08,18,21,00,00)
                            )

                        [2] => Array
                            (
                                [v] => Date(2014,08,18,22,00,00)
                            )

                    )

            )

        [2] => Array
            (
                [c] => Array
                    (
                        [0] => Array
                            (
                                [v] => Z
                            )

                        [1] => Array
                            (
                                [v] => Date(2014,08,18,23,00,00)
                            )

                        [2] => Array
                            (
                                [v] => Date(2014,08,18,23,30,00)
                            )

                    )

            )

    )

)

【问题讨论】:

关于这个问题的很多内容对您来说似乎很明显,但不幸的是,您的问题主体中完全没有。如果您可以添加您编写的代码,以及一些说明问题的示例数据。 我用示例输出更新了我的问题。 我真的希望您也添加“代码”。 【参考方案1】:

解决方案: 这是一个字符编码问题,可以用 json_last_error() 方法检测到:

                switch (json_last_error()) 
                case JSON_ERROR_NONE:
                    echo ' - No errors';
                break;
                case JSON_ERROR_DEPTH:
                    echo ' - Maximum stack depth exceeded';
                break;
                case JSON_ERROR_STATE_MISMATCH:
                    echo ' - Underflow or the modes mismatch';
                break;
                case JSON_ERROR_CTRL_CHAR:
                    echo ' - Unexpected control character found';
                break;
                case JSON_ERROR_SYNTAX:
                    echo ' - Syntax error, malformed JSON';
                break;
                case JSON_ERROR_UTF8:
                    echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
                break;
                default:
                    echo ' - Unknown error';
                break;
                

【讨论】:

以上是关于SQL 查询到 Google 的 JSON 格式的主要内容,如果未能解决你的问题,请参考以下文章

json格式数据转sql语句

在google bigdata sql查询中转换json日期列

PySpark - RDD 到 JSON

如何 SQL 查询特定 JSON 格式的父子节点?

多个Google表格/工作簿上的SQL联盟

从sql查询json格式中提取数据