php json resp,JsonResponse.php

namespace Illuminate\Http;

use JsonSerializable;

use InvalidArgumentException;

use Illuminate\Contracts\Support\Jsonable;

use Illuminate\Contracts\Support\Arrayable;

use Symfony\Component\HttpFoundation\JsonResponse as BaseJsonResponse;

class JsonResponse extends BaseJsonResponse

{// a json response  extends base Json response

use ResponseTrait;// use Response Trait

// a trait

/**

* The json encoding options.

*

* @var int

*/

protected $jsonOptions;// The json encoding options

/**

* Constructor.

*

* @param  mixed  $data

* @param  int    $status

* @param  array  $headers

* @param  int    $options

*/

public function __construct($data = null, $status = 200, $headers = [], $options = 0)

{

$this->jsonOptions = $options;

parent::__construct($data, $status, $headers);

}// a constructor about instance of the response

// more type response

/**

* Get the json_decoded data from the response.

*

* @param  bool  $assoc

* @param  int   $depth

* @return mixed

*/

public function getData($assoc = false, $depth = 512)

{

return json_decode($this->data, $assoc, $depth);// a json decode method

}// Get the json_decoded data from the response.

/**

* {@inheritdoc}

*/

public function setData($data = [])

{

if ($data instanceof Arrayable) {

$this->data = json_encode($data->toArray(), $this->jsonOptions);// array

} elseif ($data instanceof Jsonable) {

$this->data = $data->toJson($this->jsonOptions);// to json

} elseif ($data instanceof JsonSerializable) {

$this->data = json_encode($data->jsonSerialize(), $this->jsonOptions);// to serialize

} else {

$this->data = json_encode($data, $this->jsonOptions);

}

if (JSON_ERROR_NONE !== json_last_error()) {

throw new InvalidArgumentException(json_last_error_msg());

}// JSON_ERROR_NONE

return $this->update();

}// set Data inert into the

/**

* Get the JSON encoding options.

*

* @return int

*/

public function getJsonOptions()

{

return $this->jsonOptions;

}// get Json Options

/**

* Set the JSON encoding options.

*

* @param  int  $options

* @return mixed

*/

public function setJsonOptions($options)

{

$this->jsonOptions = $options;// set the options

return $this->setData($this->getData());// and set Data

}// set Json Options

}

打开App,阅读手记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值