首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从JSON数组获取数据

问无法从JSON数组获取数据
EN

Stack Overflow用户
提问于 2013-11-27 06:37:17
回答 3查看 236关注 0票数 1

试着学习JSON。做一些简单的练习,但无法通过这个练习。我重新看了30遍这个教程。有什么指示吗?

以下是JSON:

代码语言:javascript
复制
{
  "name": "Username",
  "profile_name": "profile_username",
  "profile_url": "http://myapi.net/profile_username"
  "courses": [
    { "name": "English 340" },
    { "name": "History 202" },
    { "name": "Underwater Basket Weaving" }
  ]
}

它位于一个名为$JSON_array的变量中,这是我试图使用的foreach循环,用于提取课程名称并将其放入无序列表中。

代码语言:javascript
复制
<ul>
  <?php for( $i = 0; $i < count($JSON_array->courses); $i++ ): ?>
    echo '<li>';
    echo $JSON_array->{'courses'}[$i]->{'name'};
    echo '</li>';  
  <?php endfor; ?>
</ul>

它什么都不做..。我的源代码显示空列表项

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-27 06:43:28

你错过了,之后的profile_url

代码语言:javascript
复制
$json = '{
  "name": "Username",
  "profile_name": "profile_username",
  "profile_url": "http://myapi.net/profile_username",
  "courses": [
    { "name": "English 340" },
    { "name": "History 202" },
    { "name": "Underwater Basket Weaving" }
  ]
}';



$arr = json_decode($json);
?>

<ul>
  <?php for( $i = 0; $i < count($arr->courses); $i++ ): 
    echo '<li>';
    echo $arr->{'courses'}[$i]->{'name'};
    echo '</li>';  
  endfor; ?>
</ul>
票数 0
EN

Stack Overflow用户

发布于 2013-11-27 06:47:15

试试这个:

代码语言:javascript
复制
$json = '{"name": "Username","profile_name": "profile_username","profile_url": "http://myapi.net/profile_username",
"courses": [
    { "name": "English 340" },
    { "name": "History 202" },
    { "name": "Underwater Basket Weaving" }
  ]
}';//comma was missing after profile_url

$arr = json_decode($json,true);//encode as an associative array

<ul>
 <?php
  foreach($arr['courses'] as $course){
    echo '<li>';
    echo $course['name'];
    echo '</li>';  
  }
 ?>
</ul>
票数 1
EN

Stack Overflow用户

发布于 2013-11-27 06:43:00

尝尝这个

代码语言:javascript
复制
<ul>
    <?php foreach($JSON_array->courses as $course): ?>
        echo '<li>';
        echo $course->name;
        echo '</li>';  
    <?php endforeach; ?>
</ul>

更新:此外,您的JSON是无效的!!"profile_url": "http://myapi.net/profile_username"您在该行末尾缺少逗号

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20235554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档