当前位置: 首页 > 面试题库 >

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

孟哲
2023-03-14
问题内容

我有一个看起来像这样的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 address1address2address3city,和postalCode到会话变量?

到目前为止,我已经尝试过了,但是没有用:

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

谢谢!


问题答案:

print_r 是您了解JSON结构的朋友。

<?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
)


 类似资料:
  • 问题内容: 大家!我可以请您帮我解码以下JSON代码: 我想将上述结构组织为: 注1: 文件夹:收件箱 来自(来自):… 日期(日期):… 时间(时间):… utcOffsetSeconds:… 收件人(地址):… 收件人(姓名):… 状态(deliveryStatus):… 文字(正文):… 笔记2: … 先感谢您! 问题答案: 您可以使用该函数来解码JSON字符串: 而且您会得到像这样的东西:

  • 问题内容: json_decode函数不是PHP 5.1的一部分,所以我不能使用它。此版本还有其他功能吗? 问题答案: 在PHP 5.2之前,您可以使用JSON PECL扩展名。 实际上,它是已集成到PHP 5.2 _( 引用 )中_的扩展: 从PHP 5.2.0开始,JSON扩展默认捆绑并编译为PHP。 其他一些解决方案是使用PHP开发的某些组件。 前一段时间(大约一年前),我使用Zend Fr

  • 问题内容: 这是我从提要查找器URL(JSON编码)中作为字符串得到的: 我如何在php中使用json_decode()函数对其进行解码并获取最后一个数组元素(“提要”)?我尝试了以下代码,但没有运气 请帮忙 .. 问题答案: 请注意,使用第二个参数调用它时,已经返回一个数组。 更新: 作为JSON中的值 是一个对象数组,其内容为: 要获取URL,您必须使用或访问数组。 但这是数组的基本处理。也许

  • 问题内容: 但是现在我想改善对带有多个对象的JSON字符串的解码,但我不知道该怎么做。 这是一个例子: 如何仅使一个foreach()解码以上JSON字符串? 如何检测对象的名称:此foreach()上的收件箱,已发送或草稿? 问题答案: 新答案 重新修改后的问题:实际上适用于属性以及多值项(数组),请参见此处。例如,在您的问题中包含JSON字符串: 在属性的主循环内,可以使用内部循环遍历每个属性

  • 问题内容: 我想知道是否有一种方法可以解码类似JSON的字符串。 我得到了字符串: 这不是有效的JSON字符串,因此我无法直接使用python API对其进行解码。Python将仅接受字符串化的JSON字符串,例如: 其中属性被引用为字符串。 问题答案: 使用demjson模块,该模块具有在非严格模式下解码的能力。

  • 问题内容: 我有一个包含1-n纬度/经度记录的JSON字符串。看起来像这样: 什么是解析此值以获取经纬度值循环的好方法?转义的双引号是否会影响解析? 谢谢亚历克斯 问题答案: 打印…