1

放送時間 API からデータを読み取る Web サイトを開発したいと考えています。

次のようなものが生成されます。

({"env":"production","schedulerTime":"2012-07-11 14:44:34","previous":{"name":"作成者: Jalale Ale Ahmad - Modire Madrese [www.audiolib .ir]","開始":"2012-07-11 09:30:48.228571","終了":"2012-07-11 10:01:00.087571","タイプ":"トラック"},"現在":{"name":"Written By: Jalale Ale Ahmad - Modire Madrese [www.audiolib.ir]","starts":"2012-07-11 10:01:00.087571","ends":"2012- 07-11 10:31:11.217571","media_item_played":true,"record":0,"type":"track"},"next":{"name":"Written By: Jalale Ale Ahmad - Modire Madrese [www.audiolib.ir]","開始":"2012-07-11 10:31:11.217571","終了":"2012-07-11 11:01:17.567071","type":"track"},"currentShow":[{"start_timestamp":"2012-07-11 13:58:00","end_timestamp ":"2012-07-11 16:00:00","name":"無題番組","id":36,"instance_id":36,"record":0,"url":"","開始":"2012-07-11 13:58:00","終了":"2012-07-11 16:00:00"}],"nextShow":[],"タイムゾーン":"IRDT", "timezoneOffset":"16200","AIRTIME_API_VERSION":"1.0"})"name":"無題番組","id":36,"instance_id":36,"record":0,"url":"","starts":"2012-07-11 13:58:00" ,"ends":"2012-07-11 16:00:00"}],"nextShow":[],"timezone":"IRDT","timezoneOffset":"16200","AIRTIME_API_VERSION":"1.0" }))"name":"無題番組","id":36,"instance_id":36,"record":0,"url":"","starts":"2012-07-11 13:58:00" ,"ends":"2012-07-11 16:00:00"}],"nextShow":[],"timezone":"IRDT","timezoneOffset":"16200","AIRTIME_API_VERSION":"1.0" }))

それは JSON ではないので、それは何ですか? それをphpまたはjavascript配列に変換するにはどうすればよいですか?

4

4 に答える 4

2

それは有効なJSONのようです.. http://jsonlint.com/で確認してください...

を使用して配列に変換できますjson_decode($output, true);

于 2012-07-11T10:38:31.327 に答える
1

これは有効な JSON ではありませんが、JSON のように括弧が追加されているように見えます。Felix が述べたように、関数名のない JSON-P パッケージ化された応答である可能性があります。それを提供する方法についてAPIドキュメントを確認するか、データを受け取った後、JSON.parseに渡す前に後処理できる場合は、()手動で削除してください。

于 2012-07-11T10:56:25.380 に答える
1

それはjsonのようです(最初の丸括弧を取り除くだけです)。

以下の無料のオンラインツールを使用して検証できます

http://jsonlint.com/

于 2012-07-11T10:37:39.167 に答える
1

それは間違いなくJSONです。データの最初と最後にある丸括弧をスキップするだけです。json_decode PHP 関数は、それをデコードできるはずです。

于 2012-07-11T10:39:26.170 に答える