z0ddak
@z0ddak
Просто хороший человек

Как конвертировать JSON объект в цикле с помощью PHP?

Подскажите, как конвертировать JSON-объект такого вида:
{
	"1166E523-2F40-65BC-1149-71449B66E9D8":{
		"time_stamp":1590396226,
		"public_key":"123",
		"private_key":"123"
	},
	"6C1D4749-55AF-67B9-E01C-166391757836":{
		"time_stamp":1590396356,
		"public_key":"123",
		"private_key":"123"
	},
	"001B478F-7441-A951-E7EA-C4973F6959E0":{
		"time_stamp":1590396393,
		"public_key":"123",
		"private_key":"123"
	},
	"BD05974F-5B35-3B7E-95ED-520F6429B46C":{
		"time_stamp":1590397179,
		"public_key":"123",
		"private_key":"123"
	}
}


в JSON-объект такого вида:
{
  "total": 4,
  "totalNotFiltered": 4,
  "rows": [
		{
			"uid":"1166E523-2F40-65BC-1149-71449B66E9D8",
			"time_stamp":1590396226,
			"public_key":"123",
			"private_key":"123"
		},
		{
			"uid":"6C1D4749-55AF-67B9-E01C-166391757836",
			"time_stamp":1590396356,
			"public_key":"123",
			"private_key":"123"
		},
		{
			"uid":"001B478F-7441-A951-E7EA-C4973F6959E0",
			"time_stamp":1590396393,
			"public_key":"123",
			"private_key":"123"
		},
		{
			"uid":"BD05974F-5B35-3B7E-95ED-520F6429B46C",
			"time_stamp":1590397179,
			"public_key":"123",
			"private_key":"123"
		}
	]
}


где total и totalNotFiltered равны количеству строк в выборке
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
$arr = json_decode($json, true);
$newJson = json_encode([
  'total' => count($arr),
  'totalNotFiltered ' => count($arr),
  'rows' => array_map(
    function ($uid, $el) {
      $el['uid'] = $uid;
      return $el;
    },
    array_keys($arr),
    array_values($arr)
  )
]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы