You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:解析JSON中字段10的特殊序列化格式数据

解析PHP序列化格式数据的方法

你看到的这个字符串是**PHP序列化(PHP Serialization)**格式,是PHP用于将变量转为可存储/传输字符串的标准格式,格式标识含义:

  • a:2::代表包含2个元素的关联数组
  • s:8:"latitude":代表长度为8的字符串类型键名,内容是latitude
  • 分号;用于分隔键值对和数组元素

下面是几种主流语言的解析方案:

PHP 解析方式

直接使用PHP内置的unserialize()函数即可完成解析:

// 先提取JSON中字段10的内容
$serializedData = 'a:2:{s:8:"latitude";s:17:"55.50636887209855";s:9:"longitude";s:18:"-4.576417238098154";}';
$parsedData = unserialize($serializedData);

// 获取纬度和经度
$latitude = $parsedData['latitude'];
$longitude = $parsedData['longitude'];

Python 解析方式

借助第三方库phpserialize实现解析,先通过pip安装:pip install phpserialize

import phpserialize

# 注意传入字节类型数据
serializedData = b'a:2:{s:8:"latitude";s:17:"55.50636887209855";s:9:"longitude";s:18:"-4.576417238098154";}'
parsedData = phpserialize.loads(serializedData, decode_strings=True)

latitude = parsedData[b'latitude'].decode()
longitude = parsedData[b'longitude'].decode()

JavaScript/Node.js 解析方式

使用php-unserialize包,先通过npm安装:npm install php-unserialize

const unserialize = require('php-unserialize');

const serializedData = 'a:2:{s:8:"latitude";s:17:"55.50636887209855";s:9:"longitude";s:18:"-4.576417238098154";}';
const parsedData = unserialize(serializedData);

const latitude = parsedData.latitude;
const longitude = parsedData.longitude;

内容的提问来源于stack exchange,提问作者PJ99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 16:40:22