J'ai donc un lien qui renvoie un objet jSON, et je dois le faire décoder et le mettre en variables en PHP.
URL
api.php?action=getThreads&hash=123fajwersa&node_id=4&order_by=post_date&order=desc&limit=1&grab_content&content_limit=1
C'est l'objet qu'il renvoie
{
"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": ""
}
}
}
}
}
}
Je ne suis vraiment intéressé que par
"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,
et enfin le message
[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]
Alors, comment puis-je extraire l'objet jSON et le mettre dans des variables correctes en PHP, que je pourrai utiliser plus tard?
Variables telles que : $username
, $user_id
, $message
, $title
, $discussionState
, et ainsi de suite.
J'ai juste besoin de savoir comment je peux récupérer l'objet jSON, puis extraire les données dans des variables en PHP.
Je suis maintenant en mesure d'obtenir le tableau PHP, mais j'ai du mal à appeler les valeurs correctes. Voici le tableau.
Cela fait longtemps que nous avons commencé à intégrer les forums phanime avec le site principal. Nous avons maintenant terminé l'intégration avec les forums phanime et le site principal. Vous ne remarquerez plus qu'il existe deux plates-formes exécutant phanime, mais une seule. Notre prochaine étape consiste à thématiser les forums pour qu'ils ressemblent au site principal! [ip_id] => 268 [message_state] => visible [attach_count] => 0 [position] => 0 [likes] => 0 [like_users] => a: 0: {} [warning_id] => 0 [warning_message] =>))))))
Maintenant, disons que ce tableau a été nommé $array
alors pour obtenir la valeur du premier élément "[count]", je ne peux pas dire ce qui suit: print $array["[count]"]
<- cela renvoie une erreur.
Qu'en est-il de l'élément qui a une valeur en tant que tableau lui-même, qui est l' [threads]
élément. Comment obtenir, peut-être la [thread_id]
valeur de l' élément?
CURLOPT_RETURNTRANSFER
donnez-moi le bon résultat (y) Merci!pour obtenir l'objet, vous n'avez pas besoin d'utiliser cURL (vous chargez une autre dll en mémoire et avez une autre dépendance, à moins que vous n'ayez vraiment besoin de curl, je m'en tiendrai aux fonctions php intégrées), vous pouvez utiliser un simple php file_get_contents (url) fonction: http://il1.php.net/manual/en/function.file-get-contents.php
puis json_decode () analyse JSON dans un objet PHP, ou un tableau si vous passez
true
au deuxième paramètre. http://php.net/manual/en/function.json-decode.phpPar exemple:
la source
/api.php?action=getThreads&hash=123fajwersa&node_id=4&order_by=post_date&order=desc&limit=1&grab_content&content_limit=1
qui renvoie l'objet jSON.Vous pouvez utiliser ceci pour Curl:
Puis pour lire Json:
Ensuite :
Vous pouvez également utiliser ceci:
J'espère que cela a aidé.
la source
Utilisez cette fonction: http://br.php.net/json_decode Cela créera automatiquement des tableaux PHP.
la source
vous pouvez aussi utiliser
la source
Vous pouvez utiliser ceci:
la source