1

私のgoogleDocsSpreadsheet呼び出しは、この応答をjson形式で返します
(「行」の後にすべてが必要です)。ここで形式化された応答を見てください:)

私はphpのjson_decode関数を使用してデータを解析し、それを使用します(はい、私はphpでひどいです)このコードはNULLを返し、ドキュメントによると、NULLは「jsonをデコードできない場合」に返されます。

$ json = file_get_contents($ jsonurl);
$ json_output = json_decode($ json);

var_dump($ json_output); //NULLを返します

基本的に、私が達成したいのは、Json応答の最初の行の値から単純な配列を作成することです。

このような

$array = {'john','John Handcock','email@yahoo.com','2929292','blanc'}

あなたたちは天才です、私はあなたの洞察とこれについて非常に助けていただければ幸いです!

「sberry2A」が以下に言及しているように答えてください、応答は有効ではありませんJson、グーグルはこの目的のためにZend Jsonライブラリを提供します、代わりtsv-excelバージョンを解析することにしました:)

4

4 に答える 4

1

指定したリンクのデータは有効なJSONではありません。あなたが提供したものはデコードされたバージョンのようです。配列キーが引用符で囲まれていないため、JSONではないことがわかります。たとえば、バージョンは「バージョン」である必要があります。

データは次のようになります

'{"version":"0.6","reqId":"requestIDnumber","status":"ok","sig":"65724392","table":{"cols":[{"id":"A","label":"slug","type":"string", "pattern":""},{"id":"B","label":"name","type":"string","pattern":""},{"id":"C","label":"email","type":"string","pattern":""},{"id":"D","label" :"nsid","type":"number","pattern":"#0.###############"},{"id":"E","label":"theme","type":"string","pattern":""}],"rows":[{"c":[{"v":"mo"},{"v": "Mohammad Taheri"},{"v":"email@yahoo.com"},{"v":"2929292.0","f":"2929292"},{"v":"blanc"}]}]}}'



$json = '{"version":"0.6","reqId":"requestIDnumber","status":"ok","sig":"65724392","table":{"cols":[{"id":"A","label":"slug","type":"string", "pattern":""},{"id":"B","label":"name","type":"string","pattern":""},{"id":"C","label":"email","type":"string","pattern":""},{"id":"D","label" :"nsid","type":"number","pattern":"#0.###############"},{"id":"E","label":"theme","type":"string","pattern":""}],"rows":[{"c":[{"v":"mo"},{"v": "Mohammad Taheri"},{"v":"email@yahoo.com"},{"v":"2929292.0","f":"2929292"},{"v":"blanc"}]}]}}';
$data = json_decode($json);
print_r($data->table->rows);

//出力

Array ( [0] => stdClass Object ( [c] => Array ( [0] => stdClass Object ( [v] => mo ) [1] => stdClass Object ( [v] => Mohammad Taheri ) [2] => stdClass Object ( [v] => email@yahoo.com ) [3] => stdClass Object ( [v] => 2929292.0 [f] => 2929292 ) [4] => stdClass Object ( [v] => blanc ) ) ) ) 
于 2010-01-11T19:52:04.790 に答える
0

応答からコールバック関数を削除してみましたmyData(...)か?

于 2010-01-11T19:56:00.700 に答える
0
$json = file_get_contents($jsonfile);
$data = json_decode($json);
print_r($data);
于 2010-01-12T13:51:46.143 に答える
0

PEARパッケージServices_Jsonは、引用符で囲まれていないキーを使用してJSONを解析できます。したがって、コールバックを削除し、Services_Jsonで解析すると、うまくいくと思います。

http://mike.teczno.com/JSON/doc/

于 2010-06-09T01:08:04.447 に答える