[英]PHP String of arrays to Array
我有一個映射到對象上的json。 json如下所示:
{
"employeeId": "1",
"firstName": "John",
"lastName": "Doe",
"departments": [
{
"fieldName": "department",
"fieldValue": "[dep1, dep2]"
}
]
}
我需要從“ fieldValue”中獲取數據並將其放入數組中。 json_decode
對我不起作用,因為其中的值未加引號。 如果我將其設置為"fieldValue": "[\\"dep1\\",\\"dep2\\"]"
,但是我無法控制自己的接收方式。 有人對如何從看起來像這樣的字符串中構成數組提出一些建議嗎?
$var = "[dev1, dev2]";
$keywords = preg_split('/[\[+\]]/', $var);
$keywords[1]
將是您的答案。
然后,您可以使用str_split()
將$keywords[1]
變量拆分為一個數組
不確定它是否是好的變體,但是您可以兩次使用json_decode函數:
$json = '{
"employeeId": "1",
"firstName": "John",
"lastName": "Doe",
"departments": [
{
"fieldName": "department",
"fieldValue": "[dep1, dep2]"
}
]
}';
$decodedJson = json_decode($json);
$fieldValue = json_decode(strtr($decodedJson->departments[0]->fieldValue, array(
'[' => '["',
']' => '"]',
',' => '","'
)));
var_dump($fieldValue);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.