如何使用 PHP 将 Perl 生成的字符串(对象)转换为 JSON?

查纳卡·德席尔瓦

我使用 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。

$string = '{\"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\"}';

$string = str_replace('\"','"', $string);
$string = str_replace('=>',':', $string);
$json = json_decode($string, true);
print_r($json);

你可以在这里查看:https : //3v4l.org/UBmGA


显然,这个答案比我预期的更令人讨厌。尽管如此,它确实对 OP 有所帮助,而且我一直在坚持。最后,这就是 SO 代表的意思。

我想知道……为什么这么多downvotes?确实很好地接受了建设性的批评,并想知道如何改进未来的答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 PHP 将包含 JavaScript 对象的字符串转换为 JSON 字符串

来自分类Dev

如何将 JSON 字符串转换为 PHP 对象或数组创建 *code*

来自分类Dev

如何将 JSON 转换为 php 字符串

来自分类Dev

如何将PHP对象转换为字符串?

来自分类Dev

使用Java将字符串转换为JSON对象

来自分类Dev

PHP / jQuery-如何将多维PHP数组转换为JSON字符串?

来自分类Dev

JS:如何将字符串转换为JS对象(**不**转换为JSON)?

来自分类Dev

如何在C ++中使用Boost库将类对象转换为json字符串?

来自分类Dev

如何使用SwiftyJSON将字符串转换为JSON

来自分类Dev

如何使用gson将json转换为字符串

来自分类Dev

如何将PHP数组转换为json字符串

来自分类Dev

如何将JSON字符串转换为PHP数组,然后再次返回?

来自分类Dev

如何将 JSON 字符串转换为 PHP 数组?

来自分类Dev

将嵌套的json对象转换为php字符串而不剥离值

来自分类Dev

如何将字符串(带有scape字符的json)转换为动态对象?

来自分类Dev

如何将字符串转换为JSON,然后从JSON对象提取所需的值?

来自分类Dev

如何将具有JSON字符串的数组转换为JSON对象(红宝石)

来自分类Dev

如何将具有JSON字符串的数组转换为JSON对象(红宝石)

来自分类Dev

NSDictionary使用SwiftyJSON将JSON字符串转换为JSON对象

来自分类Dev

使用json.simple将字符串转换为json对象

来自分类Dev

使用JSON.stringify将JS对象转换为json字符串

来自分类Dev

使用Play JSON将嵌套的Scala对象转换为JSON字符串

来自分类Dev

使用JSON.stringify将JS对象转换为json字符串

来自分类Dev

将数组转换为JSON字符串php

来自分类Dev

PHP将JSON字符串转换为数组

来自分类Dev

将查询字符串转换为php中的json

来自分类Dev

将JSON字符串转换为php中的数组?

来自分类Dev

PHP将JSON字符串转换为数组

来自分类Dev

PHP将字符串转换为JSON或数组

Related 相关文章

  1. 1

    使用 PHP 将包含 JavaScript 对象的字符串转换为 JSON 字符串

  2. 2

    如何将 JSON 字符串转换为 PHP 对象或数组创建 *code*

  3. 3

    如何将 JSON 转换为 php 字符串

  4. 4

    如何将PHP对象转换为字符串?

  5. 5

    使用Java将字符串转换为JSON对象

  6. 6

    PHP / jQuery-如何将多维PHP数组转换为JSON字符串?

  7. 7

    JS:如何将字符串转换为JS对象(**不**转换为JSON)?

  8. 8

    如何在C ++中使用Boost库将类对象转换为json字符串?

  9. 9

    如何使用SwiftyJSON将字符串转换为JSON

  10. 10

    如何使用gson将json转换为字符串

  11. 11

    如何将PHP数组转换为json字符串

  12. 12

    如何将JSON字符串转换为PHP数组,然后再次返回?

  13. 13

    如何将 JSON 字符串转换为 PHP 数组?

  14. 14

    将嵌套的json对象转换为php字符串而不剥离值

  15. 15

    如何将字符串(带有scape字符的json)转换为动态对象?

  16. 16

    如何将字符串转换为JSON,然后从JSON对象提取所需的值?

  17. 17

    如何将具有JSON字符串的数组转换为JSON对象(红宝石)

  18. 18

    如何将具有JSON字符串的数组转换为JSON对象(红宝石)

  19. 19

    NSDictionary使用SwiftyJSON将JSON字符串转换为JSON对象

  20. 20

    使用json.simple将字符串转换为json对象

  21. 21

    使用JSON.stringify将JS对象转换为json字符串

  22. 22

    使用Play JSON将嵌套的Scala对象转换为JSON字符串

  23. 23

    使用JSON.stringify将JS对象转换为json字符串

  24. 24

    将数组转换为JSON字符串php

  25. 25

    PHP将JSON字符串转换为数组

  26. 26

    将查询字符串转换为php中的json

  27. 27

    将JSON字符串转换为php中的数组?

  28. 28

    PHP将JSON字符串转换为数组

  29. 29

    PHP将字符串转换为JSON或数组

热门标签

归档