我试图在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个不同的帖子。
答案 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字符串的最佳解决方案。