mySQLデータベースから取得したphpのJson文字列を変換しようとしています。私はこの使用してjson_decodeのような他の文字列で成功してきたが、私はこの文字列をデコードしてみてください何らかの理由:json_decodeを使用して配列を文字列変換エラーにしています
$Json ='{"S1": "15,2,0,4,0,0,1","S2": "50,0,99,1,5,1,1,0"}';
json_decode($Json, true);
私は、「文字列変換に配列」エラーが発生します。私は、この文字列で正常に同じことをやってきた
、
[{"group":"new","users":",12345678","S1":"56,3,0,0,0,6,0","S2":"0,0,49,0,4,0,0,0","enabled":"1","admin":"1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0"}]
私は彼らの両方が同じデータベースから引き出され、両方が検証されているように、2つの違いは、あるかわかりませんJsonとして成功しました。誰かが私がどのようにしてこれを正常に変換してjson_decodeを正常に動作させることができるか教えてくれますか?ありがとう。
**更新:ここで私は
$tmpUserJson = $row['JSONSettings’];
$tmpUserJson='['.$tmpUserJson.']'; ///I’ve tried with and without brackets
echo $tmpUserJson; //returns {"S1":"15,2,0,4,0,0,1","S2":"50,0,99,1,5,1,1,0”}
$userJson = json_decode($tmpUserJson , true);
echo $userJson['S1']; // returns Notice: Array to string conversion
'[]'は配列を作成します。私は '{}'が省略配列の構築には使われていませんが、同じことをしているように見えます。 – chris85
私はあなたのコードを実行する場合、私はこのエラーが発生しません - あなたは確かに、エラーをスローするコードを投稿しますか? – Philipp
私は正確な文字列を試しましたが、エラーなしで結果を得る...私が考えることができるのはmysql_escape_stringだけです。投稿された文字列がmysqlから出力されたものであるかどうかを確認してください...または二重引用符がエスケープされています... – Ahmad