2016-06-25 82 views
0

我試圖在json對象內創建一個json對象。 JSON對象我想要做的是:使用php高效地在json對象內創建一個json對象

{"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循環做循環,但是關心效率。

編輯: 我想使用json_encode來實現這一點,但我不知道如何實現這一點。我迄今試過的是 1)Create JSON object using PHP (創建一個類並輸入數據)。我真的很喜歡這種方法,因爲它創建了一個單獨的類,因此它更模塊化,但我似乎找不到創建4個不同帖子的方法。

+1

願上帝幫助你。因爲我們是人類。您必須將您的初始數據與您的代碼工作人員一起發佈。這不是一個完整的代碼提供商平臺 –

+0

* json_encode()*可能會幫助你。 '$ json_data = json_encode($ prepared_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數組。任何提高性能的建議? –