【发布时间】:2022-06-21 23:48:02
【问题描述】:
来自我无法控制的第 3 方平台的 Json 响应。
$json = '{
"question1": "answera",
"question2": [
"answerb",
"answerc"]
}';
任何“问题”都可以有多个“答案”,但是如果该问题只有一个“答案”,则返回的响应不带 [] 括号 - 这会将插入中断到下一个系统(我也不控制),因为它期望 []。
使用 PHP 有没有办法将 json 字符串操作为以下,与“答案”的数量无关:
"question1": ["answera"],
【问题讨论】:
-
当然,只要解码JSON,检查每个问题的属性,看看它是否是一个数组,如果不是,然后从中获取数据,将它放入一个数组中,并将属性设置为那个新数组。然后再次编码回 JSON。
-
P.S.我很同情,我讨厌 API 等输出格式不一致的数据。
-
不一致的数据是开发者的地狱。