---
title: "Hämta JSON, hantera och extrahera data och sedan prutta ut på sidan"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/188129-hämta-json-hantera-och-extrahera-data-och-sedan-prutta-ut-på-sidan"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Palle"
published: "2011-10-21T11:43:04.000Z"
updated: "2011-10-21T13:20:39.000Z"
replies: 1
views: 704
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/188129-hämta-json-hantera-och-extrahera-data-och-sedan-prutta-ut-på-sidan"
---

# Hämta JSON, hantera och extrahera data och sedan prutta ut på sidan

## #1 — Palle, 2011-10-21T11:43Z

Hej,

Jag har försökt knåpat ihop en spellista, baserad på LastFMs API, dit jag scrobblar det jag lyssnar på i Spotify. 
Det fungerar jättebra när jag gör det med JavaScript .. men nu vill jag omvandla den till PHP, men där går jag bet kan jag lova. Fattar ingenting, haha.  ;)

Som sagt, jag är ingen fena på det här med php så rätta mig gärna, men framförallt - hilfe bitte.

Här är min class:

```php
<?php 
class SpotifyPlaylist{
	function SpotifyPLAYLIST(){
		$this->searchURL = 'http://url-och-password-och-grejjer-till-deras-api';
	}
 	function getPlaylist(){
		$ch = curl_init();
		curl_setopt($ch,CURLOPT_URL,$this->searchURL);
		curl_setopt($ch,CURLOPT_POST,1);
		curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type: application/json"));
		curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
		$playlist = curl_exec($ch);
		curl_close($ch);
		return json_decode($playlist);
	}
}
?>
```

Och här är försöket att få ut något:

```php
<?php

	$spotify = new SpotifyPLAYLIST();
	$tracks = $spotify->getPlaylist();

	foreach ($tracks->recenttracks->track as $track){

		echo print_r($track) .'<br><br>';

	}

?>
```

När jag kör en echo print_r($track), här ovan, får jag ut spellistan så här, här är 2 exempel: 

> stdClass Object ( \[artist\] =\> stdClass Object ( \[#text\] =\> In Flames \[mbid\] =\> 31745282-b1ea-4d62-939f-226b14d68e7c ) \[name\] =\> Enter Tragedy \[streamable\] =\> 1 \[mbid\] =\> \[album\] =\> stdClass Object ( \[#text\] =\> Sounds Of A Playground Fading \[mbid\] =\> )  \=\> http://www.last.fm/music/In+Flames/\_/Enter+Tragedy \[image\] =\> Array ( \[0\] =\> stdClass Object ( \[#text\] =\> http://userserve-ak.last.fm/serve/34s/64957262.jpg  \=\> small ) \[1\] =\> stdClass Object ( \[#text\] =\> http://userserve-ak.last.fm/serve/64s/64957262.jpg  \=\> medium ) \[2\] =\> stdClass Object ( \[#text\] =\> http://userserve-ak.last.fm/serve/126/64957262.jpg  \=\> large ) \[3\] =\> stdClass Object ( \[#text\] =\> http://userserve-ak.last.fm/serve/300x300/64957262.jpg  \=\> extralarge ) ) \[@attr\] =\> stdClass Object ( \[nowplaying\] \=\> true ) ) 1
> 
> stdClass Object ( \[artist\] =\> stdClass Object ( \[#text\] =\> In Flames \[mbid\] =\> 31745282-b1ea-4d62-939f-226b14d68e7c ) \[name\] =\> Ropes \[streamable\] =\> 1 \[mbid\] =\> \[album\] =\> stdClass Object ( \[#text\] =\> Sounds Of A Playground Fading \[mbid\] =\> )  \=\> http://www.last.fm/music/In+Flames/\_/Ropes \[image\] =\> Array ( \[0\] =\> stdClass Object ( \[#text\] =\> http://userserve-ak.last.fm/serve/34s/64957262.jpg  \=\> small ) \[1\] =\> stdClass Object ( \[#text\] =\> http://userserve-ak.last.fm/serve/64s/64957262.jpg  \=\> medium ) \[2\] =\> stdClass Object ( \[#text\] =\> http://userserve-ak.last.fm/serve/126/64957262.jpg  \=\> large ) \[3\] =\> stdClass Object ( \[#text\] =\> http://userserve-ak.last.fm/serve/300x300/64957262.jpg  \=\> extralarge ) ) \[date\] =\> stdClass Object ( \[#text\] =\> 21 Oct 2011, 11:28 \[uts\] =\> 1319196515 ) ) 1

Informationen jag vill ha ut ur detta är **artist**, **titel**, **album**, **datum** (eller om låten spelas **just nu**). Jag har rödmarkerat dessa värden i citat här ovan.

Hur ska jag lyckas med detta?  :q

Tack på förhand!   :bire

Permalänk: https://www.webforum.nu/p/188129

## #2 — Palle, 2011-10-21T13:20Z

Fick hjälp av en kompis som kan det här bra mycket bättre än mig. :)

Edit: Av nån anledning laggar datumet 2h, därav fifflandet med datumet.

I runda slängar är detta lösningen, [resultatet ser ni här](http://www.palleman.nu).

```php
<?php

	$spotify = new SpotifyPLAYLIST();
	$tracks = $spotify->getPlaylist();

	foreach ($tracks->recenttracks->track as $track){

	    $title = $track->name;
	    $artist = $track->artist->{'#text'}; 
	    $album = $track->album->{'#text'};
		$date = (isset($track->date)) ? $track->date->{'#text'} : '';
		$playing = (isset($track->{'@attr'}) && $track->{'@attr'}->nowplaying == 'true') ? true : false;

		if($playing){

			// echo ...

		} else {

			$newdate = strtotime('+2 hours', strtotime($date));
			$longDate = date('D M d Y H:i', $newdate);
			$shortDate = date('Y-m-d H:i', $newdate);

			// echo ...

		}
	}

?>
```

Permalänk: https://www.webforum.nu/p/2284333

---

Tråden på webben: https://www.webforum.nu/amne/php/188129-hämta-json-hantera-och-extrahera-data-och-sedan-prutta-ut-på-sidan
