【发布时间】:2016-01-09 23:56:51
【问题描述】:
我有一个映射到对象上的 json。 json 如下所示:
{
"employeeId": "1",
"firstName": "John",
"lastName": "Doe",
"departments": [
{
"fieldName": "department",
"fieldValue": "[dep1, dep2]"
}
]
}
我需要从“fieldValue”中获取数据并将其放入一个数组中。
json_decode 对我不起作用,因为里面的值没有被引用。如果我拥有像"fieldValue": "[\"dep1\",\"dep2\"]" 这样的邮件会非常有帮助,但我无法控制如何接收它。有人对如何用这样的字符串制作数组有一些建议吗?
【问题讨论】:
-
json_decode() 会起作用,因为它是一个有效的 json 结构,我刚刚在 jsonlint.com 中验证了你的 json
-
你累了吗 json_decode($jsondata, true);
-
您可以使用
str_replace(array('[', ']'), '', $fiedvalue),然后使用explode(', ', $fieldvalue)。但我不会推荐这个,因为它不适用于所有值:p -
是的,它是一个有效的 json,但它不会从
"fieldValue": "[dep1, dep2]"生成数组,因为其中的数据无法解码。我也试过json_decode($jsondata, true);谢谢@Thaillie