我有一个php查询,从表中返回以下JSON格式。
[{"memberid":"18",
"useridFK":"30",
"loginName":"Johnson",
"name":"Frank",
"age":"23",
"place":"School",
},
需要以下格式:
[{"memberid":"18" {
"useridFK":"30",
"loginName":"Johnson",
"name":"Frank",
"age":"23",
"place":"School",}
},
我在另一个问题中被告知PHP会起作用,看起来像“Transversing”可能是合适的,我想找出在它返回JASON之前放入Php的内容。
My Array.plist如下所示:
Root: Dictionary
V Rows: Array
V Item 0: Dictionary
Title: String 18
V Children Array
V Item 0 Dictionary
Title String 30
etc.
提前致谢。
答案 0 :(得分:1)
我不完全确定我明白你想做什么。我想你想把json数据变成php中的一个数组,然后重新调整它的内容以分散两个维度?
Php附带了两个非常漂亮的函数,名为“json_decode”和“json_encode”,它们允许您对json数据进行解码和编码。 You can read more about them here.
关于“json_decode”的说明。除非将辅助参数传递给函数为TRUE,否则它将返回一个对象,而不是一个多维数组。
示例:
<?php
$strJsonData = '[
{"memberid":"18",
"useridFK":"30",
"loginName":"Johnson",
"name":"Frank",
"age":"23",
"place":"School"},
{"memberid":"19",
"useridFK":"36",
"loginName":"Jones",
"name":"Bill",
"age":"34",
"place":"Work"}
]';
$arrRawJsonData = json_decode( $strJsonData, true );
# Now $arrRawJsonData contains a two-dimentional array of all your json data.
$intJsonDataCount = count( $arrRawJsonData );
for ($i = 0; $i < $intJsonDataCount; $i++)
{
$intMemberId = (int) ($arrRawJsonData[$i]['memberid']);
unset( $arrRawJsonData[$i]['memberid'] );
$arrJsonData[$intMemberId] = $arrRawJsonData[$i];
}
print_r( $arrJsonData );
?>
以上代码将产生以下结果:
Array
(
[18] => Array
(
[useridFK] => 30
[loginName] => Johnson
[name] => Frank
[age] => 23
[place] => School
)
[19] => Array
(
[useridFK] => 36
[loginName] => Jones
[name] => Bill
[age] => 34
[place] => Work
)
)
希望这有帮助!