使用php高效地在json对象中创建一个json对象

时间:2016-06-25 06:01:31

标签: php json

我试图在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循环中做循环但是关注效率。

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

1 个答案:

答案 0 :(得分:1)

如果每个内部对象都是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字符串的最佳解决方案。