【问题标题】:Json Decode in laravel [closed]Laravel中的Json解码[关闭]
【发布时间】:2020-02-10 12:49:17
【问题描述】:

我试过 $json = json_decode($tracks1, true);

    Array ( [0] => [{"3430":"3430","1279":"1279","4925":"4925","3435":"3435","1899":"1899","1900":"1900","1901":"1901","1905":"1905","3971":"3971","4306":"4306","4962":"4962","4964":"4964"}] )

标题

我想要这样的输出

Array
(
    [3430] => 3430
    [1279] => 1279
    [4925] => 4925
    [3435] => 3435
    [1899] => 1899
    [1900] => 1900
    [1901] => 1901
    [1905] => 1905
    [3971] => 3971
    [4306] => 4306
    [4962] => 4962
    [4964] => 4964
)

我什么都试过了。显示的错误是

json_decode() 期望参数 1 是字符串,给定数组

当我使用$json = json_decode($tracks1, true);

【问题讨论】:

  • json_decode($tracks1[0], true);
  • 这是因为你的 json 里面有 json 是不好的。
  • 检查我的更新。
  • $json = json_decode($tracks1, true);的上下文中,请问$tracks1里面是什么?
  • 我试过先生,但没有奏效

标签: php arrays json laravel


【解决方案1】:

根据您的意见

Array ( [0] => [{"3430":"3430","1279":"1279","4925":"4925","3435":"3435","1899":"1899","1900":"1900","1901":"1901","1905":"1905","3971":"3971","4306":"4306","4962":"4962","4964":"4964"}] )

试试下面的代码。因为 json 是数组的第一个元素

$json = json_decode($tracks1[0], true);

【讨论】:

  • 先生......这个解决方案让我得到了答案,但我有更多的数组,如 [1]=> [{.....}],[2]=> [{... ..}],[3]=> [{.....}],我无法为每个索引代码编写每个。像 $json = json_decode($tracks1[1], true); $json = json_decode($tracks1[2], true);请给我解决方案
  • 您可以使用 foreach 进行相同的操作。 foreach($tracks1 as $track) { $json = json_decode($track, true); //这里有更多代码。 }
  • 我试过但没有结果。
  • 您需要在 foreach 中使用那些 $json 数据。如果你想在 foreach 循环之外使用这些 $json 数据,那么你必须使用像这样的数组: $json = []; foreach($tracks1 as $track) { $json[] = json_decode($track, true); //这里有更多代码。 } print_r($json);
  • 如果答案有效,别忘了接受。还请与 where 条件分享您的完整代码。
【解决方案2】:

考虑到

$json = '[{"3430":"3430","1279":"1279","4925":"4925","3435":"3435","1899":"1899","1900":"1900","1901":"1901","1905":"1905","3971":"3971","4306":"4306","4962":"4962","4964":"4964"}]';
$jsons = [$json, $json, $json];
$tracks = [];

foreach($jsons as $json) {
    $tracks = array_merge($tracks, json_decode($json, true));
}

var_dump($tracks);

http://sandbox.onlinephpfunctions.com/code/6184b511505a26104201a56fec0e97e652a14361

【讨论】:

  • json_decode() 期望参数 1 是字符串,给定数组
  • 我根据“要求”更新了上下文:我将json包装在一个数组中。
  • 先生......这个解决方案让我得到了答案,但我有更多的数组,如 [1]=> [{.....}],[2]=> [{... ..}],[3]=> [{.....}],我无法为每个索引代码编写每个。像 $json = json_decode($tracks1[1], true); $json = json_decode($tracks1[2], true);请给我解决方案
  • @romil 我更新了答案以便能够获取所有元素
  • 每次我无法使用 $jsons = [$json, $json, $json];
猜你喜欢
  • 2020-03-13
  • 2010-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-16
  • 1970-01-01
  • 2013-12-27
相关资源
最近更新 更多