因此,我有一个返回jSON对象的链接,我需要对其进行解码并将其放入PHP中的变量中。
网址
api.php?action=getThreads&hash=123fajwersa&node_id=4&order_by=post_date&order=desc&limit=1&grab_content&content_limit=1
这是它返回的对象
{ "count": 1, "threads": { "38752": { "thread_id": 38752, "node_id": 4, "title": "The ShadyCraft Beta Launch!", "reply_count": 45, "view_count": 946, "user_id": 2, "username": "Shady", "post_date": 1366956695, "sticky": 0, "discussion_state": "visible", "discussion_open": 1, "discussion_type": "", "first_post_id": 226167, "first_post_likes": 7, "last_post_date": 1369094302, "last_post_id": 228226, "last_post_user_id": 2, "last_post_username": "Shady", "prefix_id": 19, "tinhte_xentag_tags": "a:4:{i:0;s:9:\"minecraft\";i:2;s:4:\"news\";i:3;s:14:\"private server\";i:1;s:10:\"shadycraft\";}", "content": { "count": 1, "content": { "226167": { "post_id": 226167, "thread_id": 38752, "user_id": 2, "username": "Shady", "post_date": 1366956695, "message": "[ATTACH=full]4143[\/ATTACH]\n \nWe've completely restructured ShadyCraft, and today will be the launch of the ShadyCraft beta.\n \nCurrent Features\n[LIST]\n[*]Towns\n[*]Nations\n[*]All out wars\n[*]A live update map\n[*]No White-list\n[*]Earn Money\n[*]Griefing allowed where possible\n[\/LIST]\nThese are just some features which have a lot more things behind them. For instance, there is town and nation upkeep, tax, kingdoms, mayors, and kings.\n \nWe really wanted to have the server self-governed and this is why griefing and PvP are allowed where ever they are possible. All towns and nations cannot be griefed by other members. You can create a town and buy plots for it and expand the town as you wish.\n \n[SIZE=4]All of this is shown in the live updating map located [URL='http:\/\/50.7.6.116:8123']here[\/URL].[\/SIZE]\n \n[SIZE=4][SIZE=6]Join the Beta Now[\/SIZE][\/SIZE]\n[SIZE=6]Server-IP: 50.7.6.116[\/SIZE]\n \n \n[USER=118053]Frenchy[\/USER] and [USER=4863]Wolfbane[\/USER]", "ip_id": 747429, "message_state": "visible", "attach_count": 1, "position": 0, "likes": 7, "like_users": "a:5:{i:0;a:2:{s:7:\"user_id\";i:105699;s:8:\"username\";s:6:\"kvothe\";}i:1;a:2:{s:7:\"user_id\";i:146724;s:8:\"username\";s:12:\"Graveyard219\";}i:2;a:2:{s:7:\"user_id\";i:70182;s:8:\"username\";s:9:\"wmbrown18\";}i:3;a:2:{s:7:\"user_id\";i:5473;s:8:\"username\";s:9:\"Oblivious\";}i:4;a:2:{s:7:\"user_id\";i:118053;s:8:\"username\";s:7:\"Frenchy\";}}", "warning_id": 0, "warning_message": "", "anonymous_posting_real_user_id": 0, "anonymous_posting_real_username": "" } } } } } }
我真的只对
"title":"The ShadyCraft Beta Launch!", "reply_count:"45, "view_count": 946, "user_id":2, "username":"Shady", "post_date":1366956695, "sticky":0, "discussion_state":"visible", "discussion_open":1,
最后是消息
[ATTACH=full]4143[/ATTACH] We've completely restructured ShadyCraft, and today will be the launch of the ShadyCraft beta. Current Features [LIST] [*]Towns [*]Nations [*]All out wars [*]A live update map [*]No White-list [*]Earn Money [*]Griefing allowed where possible [/LIST] These are just some features which have a lot more things behind them. For instance, there is town and nation upkeep, tax, kingdoms, mayors, and kings. We really wanted to have the server self-governed and this is why griefing and PvP are allowed where ever they are possible. All towns and nations cannot be griefed by other members. You can create a town and buy plots for it and expand the town as you wish. [SIZE=4]All of this is shown in the live updating map located [URL='http://50.7.6.116:8123']here[/URL].[/SIZE] [SIZE=4][SIZE=6]Join the Beta Now[/SIZE][/SIZE] [SIZE=6]Server-IP: 50.7.6.116[/SIZE] [USER=118053]Frenchy[/USER] and [USER=4863]Wolfbane[/USER]
那么,如何提取jSON对象并将其放入PHP中可以稍后使用的正确变量中?
变量,如:$username,$user_id,$message,$title,$discussionState,等。
$username
$user_id
$message
$title
$discussionState
我只需要知道如何检索jSON对象,然后将数据提取到PHP中的变量中即可。
我现在可以获取PHP数组,但是在调用正确的值时遇到了一些麻烦。这是数组。
自从我们开始将幻象论坛与主要站点集成以来,已经有一段时间了。现在,我们已经完成了与幻象论坛和主站点的集成。您将不再注意到有两个运行幻影的平台,而只有一个。我们的下一步是主题论坛,使其看起来像主站点![ip_id] => 268 [message_state] =>可见[attach_count] => 0 [位置] => 0 [likes] => 0 [like_users] => a:0:{} [warning_id] => 0 [warning_message] =>))))))
现在让我们说这个数组被命名$array为获取第一个元素的值“ [count]”,我不能只说以下内容:print $array["[count]"] <-这将返回错误。
$array
print $array["[count]"]
那么具有本身作为数组值的[threads]元素呢?我如何获得[thread_id]元素的价值?
[threads]
[thread_id]
我认为这将回答您的问题:P
$url="https://.../api.php?action=getThreads&hash=123fajwersa&node_id=4&order_by=post_date&order=desc&limit=1&grab_content&content_limit=1";
使用cURL
cURL
// Initiate curl $ch = curl_init(); // Will return the response, if false it print the response curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Set the url curl_setopt($ch, CURLOPT_URL,$url); // Execute $result=curl_exec($ch); // Closing curl_close($ch); // Will dump a beauty json :3 var_dump(json_decode($result, true));
使用file_get_contents
file_get_contents
$result = file_get_contents($url); // Will dump a beauty json :3 var_dump(json_decode($result, true));
存取中
$array["threads"][13/* thread id */]["title"/* thread key */]
和
$array["threads"][13/* thread id */]["content"/* thread key */]["content"][23/* post id */]["message" /* content key */];