2017-08-08 12 views
-4

を使用してJSONレスポンスの解析します入力され、エラーはありません。私は戻って取得しています応答が正常に見えるは、私は次のコードでJSONレスポンスを解析しようとしています非整列化

が正常resp.Bodyをお読みください。

{"access_token":"Osq","token_type":"Bearer","expires_in":"1247"} Response Headers map[Content-Length:[384] Connection:[keep-alive] Content-Language:[en-US] Date:[Tue, 08 Aug 2017 16:52:19 GMT] Gi-Coordination-Id:[auto_--YfYqIVya0KiAv_mLLET8g] Server:[Mashery Proxy] X-Powered-By:[ASP.NET ARR/3.0 ASP.NET] Content-Type:[application/json; charset=utf-8] Pragma:[no-cache] Cache-Control:[no-cache,no-cache] Expires:[-1]]

を誰もが、私はアプローチのいずれかで間違ってやっているものを上の任意のアイデアを持っていますか?

EDIT - ソリューション:

type Token struct { 
    Access_token string `json:access_token` 
    Token_type string `json:token_type` 
    Expires_in int `json:expires_in` 
} 

非整列化を大文字にする必要がエクスポートされたキーを必要とします。

+2

「トークン」タイプの定義を含めるように質問を編集してください。 – Adrian

+1

どこかで良い複製があるはずです... – RayfenWindspear

+1

下線付きの変数名は 'golang'に準拠していますのでご注意ください – TehSphinX

答えて

3

Token(小文字で始まるフィールド)には未記入フィールドがあります。フィールドはエクスポートされないので、jsonはそれらを見ることができないため、フィールド内に非整列化することはできません。 the documentation for json.Unmarshalをお読みください:

アンマーシャルJSONに構造体に、非整列化は、完全一致を好むだけでなく、ケースを受け入れ、(いずれかの構造体のフィールド名またはその タグ)マーシャルによって使用されるキーに入ってくるオブジェクトを キーに一致します-insensitive が一致します。 Unmarshalは、構造体のエクスポートされたフィールドのみを設定します。

+0

あなたはこの時間に勝ちます; – RayfenWindspear

+0

ほぼ30秒間;) – Adrian

+0

@Adrianあまりにも多くの言語でのプログラミング。ありがとう! – avrono

関連する問題