私が持っている巨大な文字列の情報にアクセスする簡単な方法があるかどうか疑問に思っています。文字列は構造化されており、人々がレビューする目的で改行とスペースを入れていますが、これは返されるテキストの 1 つの巨大な 1 行にすぎません。
まず、これは私が Jira API にアクセスする方法です:
$username = 'xxx';
$password = 'xxx';
$url = 'https://xxx.atlassian.net/rest/api/2/Issue/Bug-5555';
$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));
echo $issue_list;
これで、分解すると次のような巨大な文字列が返されます。
{"expand":
"renderedFields,names,schema,transitions,operations,editmeta,changelog",
"id":"16935",
"self":"https://xxx.atlassian.net/rest/api/2/issue/16935",
"key":"xx-5555",
"fields":
{"summary":"Dialog boxes shouldn't be on top.",
"progress":
{"progress":0,
"total":0
},
"timetracking":{},
"issuetype":
{"self":"https://xxx.atlassian.net/rest/api/2/issuetype/1",
"id":"1",
"description":"A problem which impairs or prevents the functions of the product.",
"iconUrl":"https://xxx.atlassian.net/images/icons/bug.gif",
"name":"Bug",
"subtask":false
},
"timespent":null,
"reporter":
{"self":"https://xxx.atlassian.net/rest/api/2/user?username=xxx%40xxx.com",
"name":"xxx@xx.com",
"emailAddress":"xxx@xxx.com",
"avatarUrls":{"16x16":"https://xxx.atlassian.net/secure/useravatar?size=small&avatarId=10122",
"48x48":"https://xxx.atlassian.net/secure/useravatar?avatarId=10122"},
"displayName":"xxx",
"active":true
},
"created":"2012-08-25T18:39:27.760-0600",
"updated":"2012-08-31T16:47:38.761-0600",
"priority":
{"self":"https://xxx.atlassian.net/rest/api/2/priority/6",
"iconUrl":"http://dl.dropbox.com/u/xxx/3-green.png",
"name":"3 - Medium Priority",
"id":"6"
},
"description":"\"loading \" dialog is always on top, so is the \"Updating database\" dialog.\r\n\r\n\r\nThis is annoying. It shouldn't be on top and/or you should be able to easily minimize the window.",
"issuelinks":[], etc etc etc
現在、私は基本的なphpユーザーなので、可能であれば返信を単純化しておいてください。ドキュメント全体を解析するルートをたどる前に、解析に慣れていないため、簡単な方法があるかどうか疑問に思っていました。値にアクセスします。
私が考えているのは次のようなものです:
foreach($issue_list->issues as $issue) {
echo "summary" . $issue->summary;
echo "updated" . $issue->updated;
echo "created" . $issue->created;
echo "description" . $issue->description;
}
これは希望的観測かもしれませんが、私が似たようなことをした記事を見ましたが、理解できません。記事は次のとおりです 。 http://www.lornajane.net/posts/2012/using-jiras-rest-api -to-create-a-dashboard
また、可能であれば、レポーター > displayName の値にアクセスする方法は?
最後にもう 1 つの簡単な質問です。説明をエコーする場合、/r/r/r/r/r/n および /" に従うようにするにはどうすればよいので、改行して出力し、それらの特殊文字を削除しますか?