Ich habe also einen Link, der ein jSON-Objekt zurückgibt, und ich muss es dekodieren und in Variablen in PHP einfügen lassen.
URL
api.php?action=getThreads&hash=123fajwersa&node_id=4&order_by=post_date&order=desc&limit=1&grab_content&content_limit=1
Dies ist das Objekt, das zurückgegeben wird
{
"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": ""
}
}
}
}
}
}
Ich interessiere mich wirklich nur für die
"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,
und schließlich die Nachricht
[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]
Wie kann ich das jSON-Objekt extrahieren und es in korrekte Variablen in PHP einfügen, die ich später verwenden kann?
Variablen wie: $username
, $user_id
, $message
, $title
, $discussionState
, und so weiter.
Ich muss nur wissen, wie ich das jSON-Objekt abrufen und dann die Daten in Variablen in PHP extrahieren kann.
Ich kann jetzt das PHP-Array abrufen, habe jedoch einige Probleme beim Aufrufen der richtigen Werte. Hier ist das Array.
Es ist schon eine Weile her, seit wir begonnen haben, die Phanime-Foren in die Hauptseite zu integrieren. Wir haben jetzt die Integration mit den Phanime-Foren und der Hauptseite abgeschlossen. Sie werden nicht mehr bemerken, dass auf zwei Plattformen Phanime ausgeführt wird, sondern nur auf einer. Unser nächster Schritt besteht darin, die Foren so zu gestalten, dass sie wie die Hauptseite aussehen! [ip_id] => 268 [message_state] => sichtbar [attach_count] => 0 [position] => 0 [liks] => 0 [like_users] => a: 0: {} [warning_id] => 0 [warning_message] =>))))))
Nehmen wir nun an, dieses Array wurde damals benannt $array
, um den Wert des ersten Elements "[count]" zu erhalten. Kann ich nicht einfach Folgendes sagen: print $array["[count]"]
<- Dies gibt einen Fehler zurück.
Was ist mit dem Element, das einen Wert als Array selbst hat, welches das [threads]
Element ist? Wie bekomme ich vielleicht den [thread_id]
Wert des Elements?
CURLOPT_RETURNTRANSFER
gib mir das richtige Ergebnis (y) Danke!Um das Objekt zu erhalten, das Sie nicht benötigen, müssen Sie eine einfache PHP-Datei_get_contents (url) verwenden. Funktion: http://il1.php.net/manual/en/function.file-get-contents.php
Dann analysiert json_decode () JSON in ein PHP-Objekt oder ein Array, wenn Sie
true
an den zweiten Parameter übergeben. http://php.net/manual/en/function.json-decode.phpBeispielsweise:
quelle
/api.php?action=getThreads&hash=123fajwersa&node_id=4&order_by=post_date&order=desc&limit=1&grab_content&content_limit=1
Gibt das jSON-Objekt zurück.Sie können dies für Curl verwenden:
Dann, um Json zu lesen:
Dann :
Sie können dies auch verwenden:
Hoffe das hat geholfen.
quelle
Verwenden Sie diese Funktion: http://br.php.net/json_decode Dadurch werden automatisch PHP-Arrays erstellt.
quelle
Sie können auch verwenden
quelle
Sie können dies verwenden:
quelle