php - 如何在 PHP 中解码 JSON 字符串?

标签 php json

我有一个看起来像这样的 JSON 字符串:

{"addresses":{"address":[{"@array":"true","@id":"888888","@uri":"xyz","household":{"@id":"44444","@uri":"xyz"},"person":{"@id":"","@uri":""},"addressType":{"@id":"1","@uri":"xyz","name":"Primary"},"address1":"xyz","address2":null,"address3":null,"city":"xyz","postalCode":"111111"}]}}

用什么 PHP 来解码它并放置 address1address2address3citypostalCode 到 session 变量?

到目前为止,我试过了,但没有用:

$results = json_decode(strstr($address, '{"addresses":{"address":[{'), true);
$_SESSION['address1'] = $results['address']['address1'];

谢谢!

最佳答案

print_r 是您找出 JSON 结构的 friend 。

<?php

$addresses = json_decode('{"addresses":{"address":[{"@array":"true","@id":"888888","@uri":"xyz","household":{"@id":"44444","@uri":"xyz"},"person":{"@id":"","@uri":""},"addressType":{"@id":"1","@uri":"xyz","name":"Primary"},"address1":"xyz","address2":null,"address3":null,"city":"xyz","postalCode":"111111"}]}}');

$_SESSION['address1'] = $addresses->addresses->address[0]->address1;
$_SESSION['address2'] = $addresses->addresses->address[0]->address2;
$_SESSION['address3'] = $addresses->addresses->address[0]->address3;
$_SESSION['city'] = $addresses->addresses->address[0]->city;
$_SESSION['postalCode'] = $addresses->addresses->address[0]->postalCode;

print_r($_SESSION);

结果:

Array
(
    [address1] => xyz
    [address2] => 
    [address3] => 
    [city] => xyz
    [postalCode] => 111111
)

关于php - 如何在 PHP 中解码 JSON 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1268792/

相关文章:

javascript - 如何从页面获取所有内容,包括使用按钮输入的值?

php - 在 PHP 中使用 CURL 通过 REST API 在 JIRA 中添加问题

ruby - 将 JSON 数组转换为 Ruby Hash(哈希值)

mysql - 是否可以使用mysql脚本获取列表对象的数据?

php - 仅在PHP中考虑数字字符后的句点的正则表达式

php - 发送邮件到数据库

php - Paypal 付款高级 : what is the return data for Direct Payment

Javascript - 使用下拉菜单来定位对象属性在首次使用后中断

javascript - AngularJS ng-repeat 显示来自 Json 的二维数组

java - 如何在FORM中进行POST提交到angular2并将对象值传递给REST服务?