使用PHP高效地在json对象内部创建json对象


creating a json object inside json object using php efficiently

我试图在json对象内创建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循环中做for循环,但担心效率。

编辑:我试图使用json_encode来实现这一点,但我不确定如何实现这一点。到目前为止,我所尝试的是1)使用PHP创建JSON对象(创建一个类并输入数据)。我真的很喜欢这个方法,因为它创建了一个单独的类,所以它更模块化,但我似乎找不到一种方法来创建4个不同的帖子。

如果每个内部对象都是SQL查询的结果集,那么您只需要一个for循环来创建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字符串