PHP 从 php 创建一个 json 响应,看起来像条纹 api 结果

PHP create a json response from php to look like stripe api result

我需要创建一个 json 响应,使其看起来像使用 PHP 的 Stripe API 响应。 这是我想要得到的结构:

{ "body": "{\n \"error\": \"Please enter a valid secret key\",\n}\n", }

这是我目前的代码:

首先我创建数组:

class Error {

    public $errors = array(
        'body' => array( 'error' => false ),
    );

    if ($this->errors['body']['error'] === false) {
        $this->errors['body']['error'] = 'Please enter a valid secret key'
    }
    
    $resp = json_encode( $this->errors ) 
    echo wp_send_json( $resp );
}

但我得到的结果是: json_encode 结果:

{"body":{"error":"Please enter a valid secret key"}}

echo wp_send_json( $resp ) 结果:

res = "{\"body\":{\"error\":\"Please enter a valid secret key\"}}"

我不想对正文进行编码。 我错过了什么?

看起来只有数据 json_encoded 有错误...

$this->errors['body'] = json_encode( 
             ['error' => 'Please enter a valid secret key']);

这里面没有换行符,看看是否有问题。

或者在最后执行此操作(有助于在问题中包含您需要的内容)...

$resp = json_encode( $this->errors['body'], JSON_PRETTY_PRINT );

echo wp_send_json(['data' => $resp]);