【发布时间】:2017-11-30 15:08:35
【问题描述】:
我使用 Laravel (Lumen) 创建了一个 REST API。基本上我从数据库中获取一些值并且需要做一些功能。这就是问题所在。 我的结果集中有一个名为 web_data 的字段。这是 Perl 代码。这就是我使用普通 SQL 编辑器(如 phpmyadmin 和 workbench)查询数据库时的样子。
{"caption" => "Genes (Comprehensive set from GENCODE 26)","colour_key" => "[biotype]","default" => {"MultiBottom" => "collapsed_label","MultiTop" => "gene_label","alignsliceviewbottom" => "as_collapsed_label","contigviewbottom" => "transcript_label","contigviewtop" => "gene_label","cytoview" => "gene_label"},"key" => "ensembl","label_key" => "[biotype]","multi_name" => "GENCODE 26 Comprehensive gene set","name" => "Comprehensive Gene Annotations from GENCODE 26"}
非常清楚,没有错。但是当我通过我的 REST API 得到相同的结果时,我得到了以下输出。它有许多“\”符号。这是输出。
{\"caption\" => \"Genes (Comprehensive set from GENCODE 26)\",\"colour_key\" => \"[biotype]\",\"default\" => {\"MultiBottom\" => \"collapsed_label\",\"MultiTop\" => \"gene_label\",\"alignsliceviewbottom\" => \"as_collapsed_label\",\"contigviewbottom\" => \"transcript_label\",\"contigviewtop\" => \"gene_label\",\"cytoview\" => \"gene_label\"},\"key\" => \"ensembl\",\"label_key\" => \"[biotype]\",\"multi_name\" => \"GENCODE 26 Comprehensive gene set\",\"name\" => \"Comprehensive Gene Annotations from GENCODE 26\"}
你能告诉我这是什么原因吗?这是 PHP 的问题还是类似的问题?
我还有另一个问题。这是包含“=>”符号来分隔值的 Perl 代码。我需要使用 PHP 将其转换为 JSON 对象。那可能吗 ? 需要像下面的对象一样转换。
{ "caption" : "Genes (Comprehensive set from GENCODE 26)", "colour_key" : "[biotype]", "default" : { "MultiBottom" : "collapsed_label" ...
这是我用来使用 SQL 数据创建 REST 输出的 php 代码。
public function testDualDatabaseConnection()
{
$testGene = DB::connection('mysql2')->select('select a.analysis_id, logic_name, ad.description, ad.display_label, ad.web_data FROM ( select distinct(analysis_id) as analysis_id from gene ) as a join analysis on (a.analysis_id = analysis.analysis_id) join analysis_description as ad on (analysis.analysis_id = ad.analysis_id) where ad.displayable = :wow1', ['wow1' => "1"]);
return response()->json($testGene);
}
这也是我通过 REST API 获得的完整 JSON 输出。 https://gist.github.com/chanakaDe/0d1e5916d8bc788bb101afa9b92dc9cd
在此响应中,您可以看到“web_data”,这也是我需要再次转换为 JSON 的部分。
【问题讨论】:
-
我们需要更多信息。我们需要查看生成 JSON 的代码。我们需要知道您是如何查看 REST API 结果的。
-
@ChanakaDeSilva — 编辑您的问题并使用提供的格式化功能。将大量代码发布到评论中会留下难以阅读的混乱。
-
@DaveCross 请检查。我编辑了问题。
-
您要求将 Perl code 转换为 JSON!