【问题标题】:Return a properly formatted JSON object from PHP to JS将格式正确的 JSON 对象从 PHP 返回到 JS
【发布时间】:2019-08-25 18:25:59
【问题描述】:

我正在使用一个外部 API,它给我一个 JSON 对象作为响应。我正在运行一些 API 调用,并试图将它们添加到数组中,然后将整个内容返回到我的 Vue 应用程序,但由于某种原因,当我 console.log 它时,它没有显示对象应该如何。这就是我得到的......

这是带回对象的调用。

$response = $divisionApi->addDivision(
        $request->onBoard['division'], 
        $request->onBoard['division']
);

但是当我这样做时,对象似乎只是转换成一个长字符串。

$responseArr[] = array('division' => $response);
$responseArr[] = array('merchant' => $response);
$responseArr[] = array('division' => $response);

return $responseArr;

【问题讨论】:

  • 这里的预期输出是什么?
  • 好吧,通常当你在 JS 中 console.log 一个对象数组时,你可以点击对象键并展开数据,但这似乎是将对象作为一个完整的大字符串来处理键和值。
  • $response 很可能是一个 json 字符串,因此您需要在将数据添加到数组之前对其进行解码:json_decode($response)
  • 你需要json_decode来自API的json响应,然后在返回时你需要做json_encode

标签: javascript php json laravel


【解决方案1】:

你需要php的json_encode()函数。它需要您的数组并转换为 json 格式的字符串。

反之则为json_decode

文档:https://www.php.net/manual/en/function.json-encode.php

如果问题出在 JS 端,您可能需要将 JSON 字符串解析为带有 JSON.parse() 的对象,文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2015-09-15
    • 2013-11-16
    • 1970-01-01
    • 1970-01-01
    • 2023-02-09
    • 1970-01-01
    相关资源
    最近更新 更多