这是我的控制器:
public function index(Request $request)
{
$soapClient = new \SoapClient('http://187.32.223.233/UraIntegrada/Siacon/ConsorcioServices.asmx?WSDL');
$params = array(
'sGrupo' => "0".$request->sGrupo,
'iCota' => $request->iCota,
'iIdERP' => $request->iIdERP
);
$response = $soapClient->ROS_ExtratoContaCorrente($params);
foreach ($response as $dados) {
$dado = json_decode(json_encode($dados), true);
}
// return $dado;
// die();
return view('layouts.extrato', compact('dado'));
}
这就是我如何在刀片上更新数据:
<div class="col">
Nome: {{ $dado['NOME-CLIENTE'] }}<br>
Rua: {{ $dado['NOME-LOGRADOURO'] }}, Nº{{ $dado['NUMERO-LOGRADOURO'] }}<br>
Bairro: {{ $dado['BAIRRO'] }}<br>
Cidade: {{ $dado['CIDADE'] }} - UF: {{ $dado['UF'] }}<br>
CEP: {{ $dado['CEP'] }}<br>
Telefone: {{ $dado['NUMERO-TELEFONE'] }}
</div>
如何使用Laravel访问JSON嵌套对象?
可以通过$ dados ['NOME-CLIENTE']访问,但不知道如何访问下一个嵌套对象'PARCELAS-PAGAS`-> PARCELA-PAGA-> NUMERO-PARCELA
{
"NOME-CLIENTE": "JANE DOE",
"CODIGO-GRUPO": "06275",
"NUMERO-COTA": 45,
"NOME-LOGRADOURO": "JUNIOR STREET",
"NUMERO-LOGRADOURO": "519",
"BAIRRO": "PRESIDENTE ROOSEVELT",
"CIDADE": "UBERLANDIA",
"PARCELAS-PAGAS": {
"PARCELA-PAGA": [
{
"NUMERO-PARCELA": 17,
"DATA-VENCIMENTO": "20190108",
},
现在,我想访问“ NUMERO-PARCELA”节点,但不知道如何在Laravel中进行操作
答案 0 :(得分:1)
键PARCELA-PAGA
是一个数组。您需要遍历它。
例如:
$json = '{
"NOME-CLIENTE": "JANE DOE",
"CODIGO-GRUPO": "06275",
"NUMERO-COTA": 45,
"NOME-LOGRADOURO": "JUNIOR STREET",
"NUMERO-LOGRADOURO": "519",
"BAIRRO": "PRESIDENTE ROOSEVELT",
"CIDADE": "UBERLANDIA",
"PARCELAS-PAGAS": {
"PARCELA-PAGA": [
{
"NUMERO-PARCELA": 17,
"DATA-VENCIMENTO": "20190108"
}
]
}
}';
$dado = json_decode($json, true);
$parcelaPaga = $dado['PARCELAS-PAGAS']['PARCELA-PAGA'];
foreach($parcelaPaga as $parcela) {
echo $parcela['NUMERO-PARCELA'] . PHP_EOL;
}
这是一个example,可以玩。
答案 1 :(得分:1)
如果整个对象是一个关联数组,它似乎来自您的示例代码,那么您将像这样访问属性:
$dado["PARCELAS-PAGAS"]["PARCELA-PAGA"][0]["NUMERO-PARCELA"]
[0]
索引将使您获得“ PARCELA-PAGA”数组中的第一项(此位是数字数组,而不是关联数组)。
这是一个可运行的演示:http://sandbox.onlinephpfunctions.com/code/54097b7213fbfe598c67a2c08b43d1e72ba2ede6
当然,如果您希望可能有多个项目,则最好使用循环依次获取每个项目,假设您想全部获取它们。
P.S。忘了它是JSON,一旦将它反序列化为一个变量,它就可以像其他任何PHP变量一样工作。一旦变量变成PHP变量,您就可以始终使用var_dump()
来查看其结构。