从MySQL获取JSON数据树

时间:2010-12-20 15:49:09

标签: mysql json

我的新闻源类似于Facebook的新闻源。

这意味着我需要得到不“直”的行和来自MySQL的cols数据集,但更像是具有不同分支长度(和不同内容)的数据的“树”。

如果我直截了当,我将在PHP中使用大量嵌套循环 - 因为每种类型的新闻都需要不同的数据集。

新闻源的例子: 1)用户“A”添加了2个新图像(这里我需要获取user_name,user_avatar,image_path_1,image_path_2等...) 2)用户“B”已评论用户的“A”图像(此处我需要用户的“B”名称,用户的“B”头像,image_path,comment_text,用户的“A”名称等...)

明白我的意思?

所以我想要做的是将MySQL存储过程中的数据转换为JSON格式。

{"news": 
            [
               {news_type: "new_images", user_name: "john", user_avatar: "0002.jpg", image_path: "/images/00123.jpg"}
               {news_type: "comment", user_name: "john", user_avatar: "0002.jpg", comment: "hello!"}
            ]
      }

我可以通过“concat”和“group_concat”在MySQL中进行这种转换......我只是想问你的意见是否是一个好主意 - 如果不是那么更好的方法。

感谢您的帮助!

更新 所以最后我切换到了MongoDB:)

2 个答案:

答案 0 :(得分:3)

这不是明智之举。您应该只使用数据库服务器进行数据库工作。

如果您只是将关联数组传递给它,PHP将使用json_encode()自动为您执行所有JSON编码。没有必要重新发明轮子或使数据库服务器陷入困境。

答案 1 :(得分:0)

虽然有一个流输出类型会很方便:更少的解组/封送。如果你需要支持php和java消费者更多的数据处理。连接输出流并调用存储过程似乎不那么重要。

相关问题