需要帮助设置json数组
Need help setting up json array
数据库查询返回几行,我按如下方式循环执行:
foreach ($query->result() as $row) {
$data[$row->post_id]['post_id'] = $row->post_id;
$data[$row->post_id]['post_type'] = $row->post_type;
$data[$row->post_id]['post_text'] = $row->post_text;
}
如果我json_encode
结果数组($a['stream']
),我得到
{
"stream": {
"1029": {
"post_id": "1029",
"post_type": "1",
"post_text": "bla1",
},
"1029": {
"post_id": "1030",
"post_type": "3",
"post_text": "bla2",
},
"1029": {
"post_id": "1031",
"post_type": "2",
"post_text": "bla3",
}
}
}
但json
实际上应该是这样的:
{
"stream": {
"posts": [{
"post_id": "1029",
"post_type": "1",
"post_text": "bla1",
},
{
"post_id": "1030",
"post_type": "3",
"post_text": "bla2",
},
{
"post_id": "1031",
"post_type": "2",
"post_text": "bla3",
}]
}
}
我应该如何构建我的数组才能正确使用json
?
无论如何,这就是您应该做的:
...
$posts = array();
foreach ($query->result() as $row) {
$post = array();
$post['post_id'] = $row->post_id;
$post['post_type'] = $row->post_type;
$post['post_text'] = $row->post_text;
$posts[] = $post;
}
$data['posts'] = $posts;
...
一点解释:您必须根据从数据库中获得的信息构建一个对象,即$post
。这些对象中的每一个都需要一起添加到一个数组中,即$posts
。这个来自数据库的帖子数组被设置为$data
的关键字posts
,即$data['posts']
。
这个怎么样?
http://codepad.viper-7.com/zPHCm0
<?php
$myData = array();
$myData['posts'][] = array('post_id' => 3, 'post_type' => 343, 'post_text' => 'sky muffin pie');
$myData['posts'][] = array('post_id' => 4, 'post_type' => 111, 'post_text' => 'Mushroom chocolate banana');
$myData['posts'][] = array('post_id' => 231, 'post_type' => 888, 'post_text' => 'Cucumber strawberry in the sky');
$theStream['stream'] = $myData;
$json = json_encode($theStream);
echo 'JSON:<Br/>';
echo $json;
以上给了我:
{
"stream":
{ "posts":[
{"post_id":3,"post_type":343,"post_text":"sky muffin pie"},
{"post_id":4,"post_type":111,"post_text":"Mushroom chocolate banana"},
{"post_id":231,"post_type":888,"post_text":"Cucumber strawberry in the sky"}]
}
}
foreach ($query->result() as $row) {
$data['posts']['post_id'] = $row->post_id;
$data['posts']['post_type'] = $row->post_type;
$data['posts']['post_text'] = $row->post_text;
}
相关文章:
- 需要帮助设置json数组
- 如何使用 node.js 比较两个 json 数组
- 根据id将json数组组合为一个json数组
- 如何创建JSON数组
- 如何将package.json数组传递给grunt.js
- 访问json数组中的对象
- JSON数组数据返回Undefined
- 如何向JSON数组动态添加属性
- 如何从json数组中获取特定值
- 从多维嵌套json数组创建下拉列表
- 在ListView中添加JSON数组中存储的图像-ReactNative
- jquery在json数组中循环
- 将 JSON 数组解析为 JavaScript 数组
- 如何在php中读取没有任何键的JSON数组
- 如何在Jquery中迭代JSON数组
- 如何在cycle js中从JSON数组创建组件
- 如何使用jquery返回php-json数组对象
- JSON数组转换为JS对象数组
- 使用System从C#集合创建JSON数组.网状物剧本序列化
- 使用Underscore.js修改json数组中所选元素的更有效方法