2017-01-24 8 views
-3

プリントアウトしていますJSONは次のようになりますPHP JSON配列:不正な文字列オフセット 'first_nameの'

{ 
    "c_id": { 
     "value": 66 
    }, 
    "first_name": { 
     "value": "Joe" 
    }, 
    ... 

これは

$profile = json_encode($this->session->getProfile(), true); 
    echo $profile; 
    echo $profile['first_name']['value']; 

次のコードから来ているしかし、私はエラーを取得:

Illegal string offset 'first_name' 
Illegal string offset 'value' 

私は明らかに間違っていることを私は見ることができません。

おかげ

+3

'$ profile'は' array'ではなく 'string'です –

+0

json_encodeは文字列を返します –

+0

この' $ this-> session-> getProfile() 'がJSON文字列を返すと仮定すると、' json_decode($ this-> session-> getProfile()) ' – RiggsFolly

答えて

-1

あなたは配列にアクセスしたい場合は、あなたのJSONデータをデコードする必要があります。

$profile = json_decode($this->session->getProfile(), true); 
+0

' $ this-> session-> getProfile() 'にjson文字列が含まれていれば真となります。しかし明らかにそれはしません。 – yivi

+0

申し訳ありませんが、json_encodeの2番目のパラメータ "true"が何をするはずですか? – sebifeixler

-1

を私はあなたが何をしたいのかよく分からないが、あなたは

$profile = json_decode($this->session->getProfile(), true);

を持っていたら、

あなたが受け取っている応答は文字列であり、その逆の場合もあります。逆の場合は

関連する問題