2016-06-25 2 views
0

Я пытаюсь создать объект json внутри объекта json. объект JSON Я хочу сделать это:Создание json-объекта внутри объекта json с использованием php эффективно

{"post1" : {"id" : "1", "brand" : "brandFromQuery", "model" : "modelFromQuery"}, 
"post2" : {"id" : "2", "brand" : "brandFromQuery", "model" : "modelFromQuery"}, 
"post3" : {"id" : "3", "brand" : "brandFromQuery", "model" : "modelFromQuery"}, 
"post4" : {"id" : "4", "brand" : "brandFromQuery", "model" : "modelFromQuery"}}" 

То, что я в конечном итоге нужно сделать, это создать объект JSON, как вы видите выше, и передать его к переднему концу. И данные являются результатом SQL-запроса. Каждый «внутренний» json-объект извлекается из запроса. Любой совет о том, как я должен это создать? Хотелось бы найти эффективные решения для этого. Я думал о том, чтобы делать цикл в цикле for, но обеспокоен эффективностью.

EDIT: Я пытаюсь использовать json_encode для достижения этого, но я не уверен, как это реализовать. что я пробовал до сих пор 1) Create JSON object using PHP (создает класс и вводит данные). Мне очень нравится этот метод, потому что он создает отдельный класс, поэтому он более модульный, но я просто не могу найти способ создать 4 разных сообщения.

+1

May god help you. Потому что мы люди. вы должны опубликовать свои исходные данные вместе со своим человеком с усилием кода. это не полная форма кода провайдера –

+0

* json_encode() * может вам помочь. '$ json_data = json_encode ($ prepare_array);' – MH2K9

ответ

1

Если каждый внутренний объект является результирующим набором из SQL-запроса, вам просто нужен одиночный for-loop для создания типа строки JSON.

Создать основной массив

$main_array=array(); 

Теперь перебрать результат от MySQL, как это и добавить их в основном массиве.

/* Your MySQL logic to fetch result */ 
$count=1; 
while($row = $result->fetch_assoc()) { // assuming fetch method, you can replace it with yours. 
    $main_array["post".$count]=$row; 
    $count++; 
} 

$json_string=json_encode($main_array); 

Я думаю, что это лучшее решение, в котором вы можете создать нужную строку JSON.

+0

op уже знает о решении 'json_encode', он ищет более эффективное решение .. из вопроса: _I должен иметь массив внутри массива, а затем использовать json_encode. Но поиск более эффективного решения_ :) –

+0

Может быть, он использует другой метод для создания массива в массиве? Посмотрим, поможет ли это или нет. –

+0

Это был ответ, который я искал! однако, чтобы создать объект json, который я намерен сделать, для этого нужен 2d-массив, используя этот ответ. Любые предложения по улучшению производительности? –

Смежные вопросы