JSON-decode

Gestart doorBugged8 reacties119 weergaven

9 berichten · pagina 1 van 1

Bugged

Lid · Topicstarter

Berichten
3.001
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hey,

Ik ben bezig met de Twitter API en bij een API-call krijg je JSON teruggestuurd. Nu heb ik nog niet eerder met JSON gewerkt en wou dus weten hoe ik bijvoorbeeld in het onderstaand voorbeeld de remaining van statuses/mentions_timeline kan weergeven (JSON->resources->statuses->/statuses/mentions_timeline->remaining).

{
  "rate_limit_context": {
    "access_token": "786491-24zE39NUezJ8UTmOGOtLhgyLgCkPyY4dAcx6NA6sDKw"
  },
  "resources": {
    "users": {
      "/users/profile_banner": {
        "limit": 180,
        "remaining": 180,
        "reset": 1403602426
      },
      "/users/suggestions/:slug/members": {
        "limit": 15,
        "remaining": 15,
        "reset": 1403602426
      },
      "/users/show/:id": {
        "limit": 180,
        "remaining": 180,
        "reset": 1403602426
      },
      "/users/suggestions": {
        "limit": 15,
        "remaining": 15,
        "reset": 1403602426
      },
      "/users/lookup": {
        "limit": 180,
        "remaining": 180,
        "reset": 1403602426
      },
      "/users/search": {
        "limit": 180,
        "remaining": 180,
        "reset": 1403602426
      },
      "/users/contributors": {
        "limit": 15,
        "remaining": 15,
        "reset": 1403602426
      },
      "/users/contributees": {
        "limit": 15,
        "remaining": 15,
        "reset": 1403602426
      },
      "/users/suggestions/:slug": {
        "limit": 15,
        "remaining": 15,
        "reset": 1403602426
      }
    },
    "statuses": {
      "/statuses/mentions_timeline": {
        "limit": 15,
        "remaining": 15,
        "reset": 1403602426
      },
      "/statuses/lookup": {
        "limit": 180,
        "remaining": 180,
        "reset": 1403602426
      },
      "/statuses/show/:id": {
        "limit": 180,
        "remaining": 180,
        "reset": 1403602426
      },
      "/statuses/oembed": {
        "limit": 180,
        "remaining": 180,
        "reset": 1403602426
      },
      "/statuses/retweeters/ids": {
        "limit": 15,
        "remaining": 15,
        "reset": 1403602426
      },
      "/statuses/home_timeline": {
        "limit": 15,
        "remaining": 15,
        "reset": 1403602426
      },
      "/statuses/user_timeline": {
        "limit": 180,
        "remaining": 180,
        "reset": 1403602426
      },
      "/statuses/retweets/:id": {
        "limit": 60,
        "remaining": 60,
        "reset": 1403602426
      },
      "/statuses/retweets_of_me": {
        "limit": 15,
        "remaining": 15,
        "reset": 1403602426
      }
    },
    "help": {
      "/help/privacy": {
        "limit": 15,
        "remaining": 15,
        "reset": 1403602426
      },
      "/help/tos": {
        "limit": 15,
        "remaining": 15,
        "reset": 1403602426
      },
      "/help/configuration": {
        "limit": 15,
        "remaining": 15,
        "reset": 1403602426
      },
      "/help/languages": {
        "limit": 15,
        "remaining": 15,
        "reset": 1403602426
      }
    },
    "search": {
      "/search/tweets": {
        "limit": 180,
        "remaining": 180,
        "reset": 1403602426
      }
    }
  }
}]
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
json_decode()
Object->resources->users->user_banners->remaining
0
Berichten
1.871
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Is het inmiddels al gelukt?
0
Bugged

Lid · Topicstarter

Berichten
3.001
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nee, ik krijg het volgende terug van Twitter, dit lijkt mij al "decoded"? Aangezien decode niet wilt lukken.
Spoiler tonen
Codeblok (output.json):
1

object(stdClass)#6 (2) { ["rate_limit_context"]=> object(stdClass)#7 (1) { ["access_token"]=> string(50) "2918037987-XQ1iVfLX7tsGzpOBz7Bqbp2u7Il1p9J5WHw8yTN" } ["resources"]=> object(stdClass)#8 (1) { ["statuses"]=> object(stdClass)#9 (10) { ["/statuses/retweeters/ids"]=> object(stdClass)#10 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/retweets_of_me"]=> object(stdClass)#11 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/home_timeline"]=> object(stdClass)#12 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/show/:id"]=> object(stdClass)#13 (3) { ["limit"]=> int(180) ["remaining"]=> int(180) ["reset"]=> int(1419525112) } ["/statuses/user_timeline"]=> object(stdClass)#14 (3) { ["limit"]=> int(180) ["remaining"]=> int(180) ["reset"]=> int(1419525112) } ["/statuses/friends"]=> object(stdClass)#15 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/retweets/:id"]=> object(stdClass)#16 (3) { ["limit"]=> int(60) ["remaining"]=> int(60) ["reset"]=> int(1419525112) } ["/statuses/mentions_timeline"]=> object(stdClass)#17 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/oembed"]=> object(stdClass)#18 (3) { ["limit"]=> int(180) ["remaining"]=> int(180) ["reset"]=> int(1419525112) } ["/statuses/lookup"]=> object(stdClass)#19 (3) { ["limit"]=> int(180) ["remaining"]=> int(180) ["reset"]=> int(1419525112) } } } }
0
Berichten
4.214
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Bugged schreef:
Nee, ik krijg het volgende terug van Twitter, dit lijkt mij al "decoded"? Aangezien decode niet wilt lukken.
Spoiler tonen
Codeblok (output.json):
1

object(stdClass)#6 (2) { ["rate_limit_context"]=> object(stdClass)#7 (1) { ["access_token"]=> string(50) "2918037987-XQ1iVfLX7tsGzpOBz7Bqbp2u7Il1p9J5WHw8yTN" } ["resources"]=> object(stdClass)#8 (1) { ["statuses"]=> object(stdClass)#9 (10) { ["/statuses/retweeters/ids"]=> object(stdClass)#10 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/retweets_of_me"]=> object(stdClass)#11 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/home_timeline"]=> object(stdClass)#12 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/show/:id"]=> object(stdClass)#13 (3) { ["limit"]=> int(180) ["remaining"]=> int(180) ["reset"]=> int(1419525112) } ["/statuses/user_timeline"]=> object(stdClass)#14 (3) { ["limit"]=> int(180) ["remaining"]=> int(180) ["reset"]=> int(1419525112) } ["/statuses/friends"]=> object(stdClass)#15 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/retweets/:id"]=> object(stdClass)#16 (3) { ["limit"]=> int(60) ["remaining"]=> int(60) ["reset"]=> int(1419525112) } ["/statuses/mentions_timeline"]=> object(stdClass)#17 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/oembed"]=> object(stdClass)#18 (3) { ["limit"]=> int(180) ["remaining"]=> int(180) ["reset"]=> int(1419525112) } ["/statuses/lookup"]=> object(stdClass)#19 (3) { ["limit"]=> int(180) ["remaining"]=> int(180) ["reset"]=> int(1419525112) } } } }

Je moet een true bij de decode functie gebruiken. json_decode($twitterzooi, true); of ja, moet niet maar is voor jouw denk ik makkelijker, dan worden het arrays, daar heb je vast en zeker vaker mee gewerkt.
0
Bugged

Lid · Topicstarter

Berichten
3.001
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Timkb schreef:
Eerdere citaten tonen
Bugged schreef:
Nee, ik krijg het volgende terug van Twitter, dit lijkt mij al "decoded"? Aangezien decode niet wilt lukken.
Spoiler tonen
Codeblok (output.json):
1

object(stdClass)#6 (2) { ["rate_limit_context"]=> object(stdClass)#7 (1) { ["access_token"]=> string(50) "2918037987-XQ1iVfLX7tsGzpOBz7Bqbp2u7Il1p9J5WHw8yTN" } ["resources"]=> object(stdClass)#8 (1) { ["statuses"]=> object(stdClass)#9 (10) { ["/statuses/retweeters/ids"]=> object(stdClass)#10 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/retweets_of_me"]=> object(stdClass)#11 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/home_timeline"]=> object(stdClass)#12 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/show/:id"]=> object(stdClass)#13 (3) { ["limit"]=> int(180) ["remaining"]=> int(180) ["reset"]=> int(1419525112) } ["/statuses/user_timeline"]=> object(stdClass)#14 (3) { ["limit"]=> int(180) ["remaining"]=> int(180) ["reset"]=> int(1419525112) } ["/statuses/friends"]=> object(stdClass)#15 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/retweets/:id"]=> object(stdClass)#16 (3) { ["limit"]=> int(60) ["remaining"]=> int(60) ["reset"]=> int(1419525112) } ["/statuses/mentions_timeline"]=> object(stdClass)#17 (3) { ["limit"]=> int(15) ["remaining"]=> int(15) ["reset"]=> int(1419525112) } ["/statuses/oembed"]=> object(stdClass)#18 (3) { ["limit"]=> int(180) ["remaining"]=> int(180) ["reset"]=> int(1419525112) } ["/statuses/lookup"]=> object(stdClass)#19 (3) { ["limit"]=> int(180) ["remaining"]=> int(180) ["reset"]=> int(1419525112) } } } }

Je moet een true bij de decode functie gebruiken. json_decode($twitterzooi, true); of ja, moet niet maar is voor jouw denk ik makkelijker, dan worden het arrays, daar heb je vast en zeker vaker mee gewerkt.

Arrays zouden idd geen probleem zijn, maar wat ik terugkrijg van Twitter is dus al decoded..

toevoeging op 25 december 2014, 19:02:22:
Laat maar zitten, gebruikte de class van TwitterOAuth en daarin kon ik simpelweg dus de json_decode veranderen smile Thanks!
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Ik gebruikte met php altijd de class van abraham (op github) en die werkte echt prima.
0
Bugged

Lid · Topicstarter

Berichten
3.001
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Xjessex schreef:
Ik gebruikte met php altijd de class van abraham (op github) en die werkte echt prima.
Ja die gebruik ik ook, maar die deed bij $con->get alleen json_decode($resource) en niet ($resource, true). Nu heb ik dit in de class gewoon veranderd en werkt het nu gewoon smile
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren