簡體   English   中英

PHP數組到數組的字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM