将JSON解码到PHP数组中,删除相同的条目并编码回PHP

将JSON解码到PHP数组中,删除相同的条目并编码回PHP,php,mysql,sql,json,Php,Mysql,Sql,Json,我在弄清楚如何从MySQL查询中获取JSON结果时遇到了一些困难;将它们转换为PHP数组;从该数组中删除相同的字段,并将该数组转换回JSON。[1]是行中包含实际JSON的部分 我错过什么了吗?在网站上找不到任何类似的问题。谢谢 $data = mysql_fetch_row($result); print_r($data); $json = json_decode($data[1], TRUE); var_dump($json); print_r($json); $distinctresu

我在弄清楚如何从MySQL查询中获取JSON结果时遇到了一些困难;将它们转换为PHP数组;从该数组中删除相同的字段,并将该数组转换回JSON。[1]是行中包含实际JSON的部分

我错过什么了吗?在网站上找不到任何类似的问题。谢谢

$data = mysql_fetch_row($result);
print_r($data);

$json = json_decode($data[1], TRUE);
var_dump($json);
print_r($json);

$distinctresult = array_unique($json);
print_r($distinctresult);

$final = json_encode($distinctresult);


{"rows":[{"level":"ERROR","key":"Standard Not found","value":"RI.1.8"},{"level":"ERROR","key":"Standard Not found",{"level":"ERROR","key":"Standard Not found","value":"RI.K.9"},{"level":"ERROR","key":"Standard Not found","value":"RI.K.9"},{"level":"ERROR","key":"Standard Not found","value":"RI.K.9",}]}
下面是我正在使用的MySQL查询:

"select distinct d.valueField
    from etllogs t
    inner join etllogdetails d on t.uid = d.etllogID and d.valueField like '%ERROR%'
    where t.transformationName like 'CM Data Extract'
    and (t.timestamp >= (now() - interval 24 hour))
    order by t.timestamp desc;";

似乎您正在尝试访问JSON编码字符串中的数组元素(
$data[1]
)。
我成功地使用了以下代码:

$data=array(0=>array('column1'=>'value1','column2'=>'value2'),
1=>array('column3'=>'value3','column4'=>'value3');
$data\u json=json\u encode($data);
echo“ORIGINAL JSON:”.print_r($data_JSON,true)。”;
$data\u php=json\u decode($data\u json,true);
echo“PHP数组:”.print_r($data_PHP,true)。”;
$data_chunk=$data_php[1];
echo“PHP数组块:”.print_r($data_CHUNK,true)。”;
$distinctresult=array\u unique($data\u chunk);
回显“唯一块:”.print\r($distinctresult,true)。”;
$final=json_encode($distinctresult);
echo“FINAL JSON:.print_r($FINAL,true)。”;

您似乎试图访问JSON编码字符串中的数组元素(
$data[1]
)。
我成功地使用了以下代码:

$data=array(0=>array('column1'=>'value1','column2'=>'value2'),
1=>array('column3'=>'value3','column4'=>'value3');
$data\u json=json\u encode($data);
echo“ORIGINAL JSON:”.print_r($data_JSON,true)。”;
$data\u php=json\u decode($data\u json,true);
echo“PHP数组:”.print_r($data_PHP,true)。”;
$data_chunk=$data_php[1];
echo“PHP数组块:”.print_r($data_CHUNK,true)。”;
$distinctresult=array\u unique($data\u chunk);
回显“唯一块:”.print\r($distinctresult,true)。”;
$final=json_encode($distinctresult);
echo“FINAL JSON:.print_r($FINAL,true)。”;

什么不起作用?你的数组中有几个级别吗?删除相同的字段是什么意思?如果不知道你的JSON是什么样子,这个问题毫无意义。我看不到任何逻辑错误。向我们展示打印结果_r@Savageman:无法是多级的,因为它来自mysql\u fetch\u行。这将是一个普通的1-d阵列那么你到底有什么问题?你期望得到什么样的结果?你得到了什么?你有错误吗?什么不起作用?你的数组中有几个级别吗?删除相同的字段是什么意思?如果不知道你的JSON是什么样子,这个问题毫无意义。我看不到任何逻辑错误。向我们展示打印结果_r@Savageman:无法是多级的,因为它来自mysql\u fetch\u行。这将是一个普通的1-d阵列那么你到底有什么问题?你期望得到什么样的结果?你得到了什么?你有错误吗?