>我有这个
[{"cname":"NCPB"},{"cname":"NBK"}]
我从json_encode那里得到的
在 MySQL 结果上
我怎样才能从上面的 JSON 对象实现这个["NCPB","NBK"]
。
我想我可以在不看到您的确切代码的情况下回答这个问题。基本上,您当前正在使用类似以下内容获取查询结果,并对其结果使用json_encode
:
while ($row = $query->some_fetch_method()) {
$results[] = $row; // you're building an array of associative arrays
}
echo json_encode($results);
相反,只需用该特定列而不是整行填充结果数组。
while ($row = $query->some_fetch_method()) {
$results[] = $row['cname']; // you need to build an array of strings instead
}
echo json_encode($results);
在使用json_encode
之前,应将查询结果数组转换为所需的格式。否则,您必须解码刚刚创建的 JSON 字符串,重新格式化其结果,然后重新编码:
$json = json_encode(array_column(json_decode($json), 'cname'));
或者使用一些奇怪的正则表达式或其他东西。但是,撤消您已经完成的操作似乎没有意义。
如果您不明白我的意思,请编辑您的问题以添加获取查询结果的代码,我将根据您的确切代码向您展示一个示例,但这应该会给您大致的想法。