为了账号安全,请及时绑定邮箱和手机立即绑定

如何将一个 JSONObject 中的 JSON 字符串放入数组中进行排序?

如何将一个 JSONObject 中的 JSON 字符串放入数组中进行排序?

PHP
万千封印 2021-11-26 15:15:11
我有一个 .php 文件,它以 JSON 格式输出产品列表,但它创建了一个大的 JSON:{"monumentid1":"1","name1":"Text","region1":"Text","monumentid2":"2","name2":"Text","region2":"Text","monumentid3":"3","name3":"Text","region3":"Text","monumentid4":"4","name4":"Text","region4":"Text","monumentid5":"111","name5":"Text","region5":"Text"}...我需要将每个字符串这样排序到数组中:{"monument1":[{"monumentid1":"1"},{"name1":"Text"},{"region1":"Text"}]} etc.可以用PHP做吗?稍后我需要使用该 JSON。我目前使用的 PHP 文件:class SeznamMagnetekApi extends BaseApi{public function ToProcess($parametry){    $magnetkyInfo = Database::SqlGetFetchAll("select monumentid, name, region from monuments");    $i = 0;    foreach ($magnetkyInfo as $info)    {        $i++;        $this->json['monumentid' . $i] = $info['monumentid'];        $this->json['name' . $i] = $info['name'];        $this->json['region' . $i] = $info['region'];    }}}和 BaseApi 类:abstract class BaseApi{protected $json = array();abstract function ToProcess($parametry);public function WriteJson(){    $this->json = json_encode($this->json, JSON_UNESCAPED_UNICODE);    echo $this->json;}}谢谢你的帮助!
查看完整描述

1 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

要获得您想要的输出,您可以使用以下代码:


$i = 0;

foreach ($magnetkyInfo as $info)

{

    $i++;

    $arr[]['monumentid' . $i] = $info['monumentid'];

    $arr[]['name' . $i] = $info['name'];

    $arr[]['region' . $i] = $info['region'];

    $this->json['monumentid' . $i] = $arr;

}

但是 - 我认为最好有 1 个 json 对象作为它的元素:


foreach ($magnetkyInfo as $info)

{

    $i++;

    $obj = ["monumentid" => $info["monumentid"], "name" => $info["name"], "region" => $info["region"]];

    $this->json['monumentid' . $i] = $obj;

}

现在,你有一个 id 作为数组的对象,每个对象都将是单独的对象(而不是数组)


查看完整回答
反对 回复 2021-11-26
  • 1 回答
  • 0 关注
  • 201 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信