首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环JSON数据只显示第一个字符

循环JSON数据只显示第一个字符
EN

Stack Overflow用户
提问于 2019-01-16 01:22:54
回答 2查看 71关注 0票数 1

我试图输出来自JIRA的特定信息,我有JSON循环和结果显示,但是嵌套最下面的结果只是显示了第一个字符。

我尝试过遵循here的建议,但这似乎是为了达到最高级别的结果,而且我似乎无法让它与我的代码一起工作。

代码语言:javascript
复制
<?php
$username = '*************';
$password = '*************';

$url = '<JIRA-DOMAIN>/rest/api/2/search?jql=project=ICI&fields=key,summary,description&maxResults=10';

$curl = curl_init();
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);

$issue_list = (curl_exec($curl));
$json = json_decode($issue_list, TRUE);
?>

<div class="toto">
    <?php
    foreach($json['issues'] as $obj){   ?>

        <h2><?php echo $obj['id']; ?></h2>

          <?php foreach($obj['fields'] as $parc){ ?>

             <a href="<?php echo $parc['summary']; ?>">
                 <span><?php echo $parc['description']; ?></span>
             </a>

       <?php }
     } ?>
</div>

当我回显$issue_list时,我得到以下信息:

输出缩短

代码语言:javascript
复制
{
    "expand":"schema,names",
    "startAt":0,
    "maxResults":10,
    "total":9,
    "issues":[
        {

"expand":"operations,versionedRepresentations,editmeta,changelog,renderedFields",
        "id":"10058",
        "self":"<domain>/rest/api/2/issue/10058",
        "key":"ICI-9",
        "fields":{
            "summary":"ToS and PP button removal",
            "description":"The Terms of Service and Privacy Policy buttons go to a page on the website so they can't use the app after. They also go to a page of nothing because they aren't written so they need to be deleted"
        }
    },
    {
        "expand":"operations,versionedRepresentations,editmeta,changelog,renderedFields",
        "id":"10048",
        "self":"<domain>/rest/api/2/issue/10048",
        "key":"ICI-1",
        "fields":{
            "summary":"Create Launch Image",
            "description":"Create launch image for app. Resolution should be: 2048px × 1536px\r\n\r\n[~james.whitaker] I got this info from [here|https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/launch-screen/]"
        }
    }
]
}

但是循环输出只显示了描述和摘要的第一个字符,如下所示,但是显示了整个ID。

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-16 01:36:53

您的问题是在这个foreach循环中:

代码语言:javascript
复制
     <?php foreach($obj['fields'] as $parc){ ?>

         <a href="<?php echo $parc['summary']; ?>">
             <span><?php echo $parc['description']; ?></span>
         </a>

   <?php }

$parc的值是$obj['fields']['summary'],然后是$obj['fields']['description'],所以当您尝试用['summary']对其进行索引时,您使用的是一个无效的索引,该索引正在转换为0(因此是单个字符)。试一试(删除foreach):

代码语言:javascript
复制
     <a href="<?php echo $obj['fields']['summary']; ?>">
         <span><?php echo $obj['fields']['description']; ?></span>
     </a>
票数 3
EN

Stack Overflow用户

发布于 2019-01-16 01:34:55

我认为fields不是数组。

$parc['summary']更改为$obj['fields']['summary']

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

https://stackoverflow.com/questions/54209183

复制
相关文章

相似问题

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