Portanto, tenho um link que retorna um objeto jSON e preciso decodificá-lo e colocá-lo em variáveis em PHP.
URL
api.php?action=getThreads&hash=123fajwersa&node_id=4&order_by=post_date&order=desc&limit=1&grab_content&content_limit=1
Este é o objeto que ele retorna
{
"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": ""
}
}
}
}
}
}
Estou realmente interessado apenas no
"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,
e finalmente a mensagem
[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]
Então, como posso extrair o objeto jSON e colocá-lo para corrigir variáveis no PHP, que posso usar mais tarde?
Variáveis como: $username
, $user_id
, $message
, $title
, $discussionState
, e assim por diante.
Só preciso saber como posso recuperar o objeto jSON e extrair os dados em variáveis em PHP.
Agora posso obter a matriz PHP, mas estou tendo alguns problemas ao chamar os valores corretos. Aqui está a matriz.
já faz um bom tempo que começamos a integrar os fóruns fantasma com o site principal. Terminamos a integração com os fóruns fantasma e o site principal. Você não notará mais que existem duas plataformas executando phanime, mas apenas uma. Nosso próximo passo é criar um tema nos fóruns para que se pareçam com o site principal! [ip_id] => 268 [message_state] => visible [attach_count] => 0 [position] => 0 [likes] => 0 [like_users] => a: 0: {} [warning_id] => 0 [warning_message] =>))))))
Agora, digamos que esse array foi nomeado $array
para obter o valor do primeiro elemento "[contagem]", não posso simplesmente dizer o seguinte: print $array["[count]"]
<- isso retorna um erro.
E quanto ao elemento que tem um valor como uma matriz, que é o [threads]
elemento. Como faço para obter, talvez, o [thread_id]
valor do elemento?
CURLOPT_RETURNTRANSFER
me dê o resultado certo (y) Obrigado!para obter o objeto, você não precisa usar cURL (você está carregando outra dll na memória e tem outra dependência, a menos que você realmente precise de curl, eu continuaria com funções php integradas), você pode usar um simples php file_get_contents (url) função: http://il1.php.net/manual/en/function.file-get-contents.php
então json_decode () analisa JSON em um objeto PHP, ou um array se você passar
true
para o segundo parâmetro. http://php.net/manual/en/function.json-decode.phpPor exemplo:
fonte
/api.php?action=getThreads&hash=123fajwersa&node_id=4&order_by=post_date&order=desc&limit=1&grab_content&content_limit=1
Que retorna o objeto jSON.Você pode usar isto para Curl:
Então, para ler Json:
Então :
Você também pode usar isto:
Espero que tenha ajudado.
fonte
Use esta função: http://br.php.net/json_decode Isso criará matrizes PHP automaticamente.
fonte
você também pode usar
fonte
Você pode usar isto:
fonte