2016-06-25 54 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数组。任何提高性能的建议? –