ホームページ  >  記事  >  バックエンド開発  >  jsonを配列出力にデコードする方法

jsonを配列出力にデコードする方法

WBOY
WBOYオリジナル
2016-06-13 13:22:16885ブラウズ

jsonを配列出力にデコードするにはどうすればよいですか?
a:2:{i:0;s:21:"www";i:1;s:16:"eee";}

-----解決策 - -------------------
json_decode を参照

http://php.net/manual/en/function.json-decode .php


------解決策----------------------
これが正しい Json 形式のデータであることを確認しましたか?
------解決策------------------
データベース内のデータはどこから来たのでしょうか? Json ではないはずだと思います...

ディスカッション

引用:

これは正しい Json 形式ですか?データは?

同じ質問です
データベースは次のようになります!
json_decode は配列を使用して 1 つの値を取得します。

------解決策---------
シリアル化みたいに、
でもまだちょっとちょっとちょっと変わった
------解決策----------------------
テストしましたが、正常に復元できません

話し合ってください

連載みたいな感じです
でもやっぱりちょっと変です

------解決策----------------------
これは明らかに json ではありません
------解決策---------
一部の cms ウコメには次のようなデータが保存されているようです
------解決策---------
まず、こちら http://jsonlint.com / json 形式が正しいかどうかを確認します。json が配列に変換されている場合は、json_decode を使用します。
------解決策---------
この配列('www', 'eee'); しかし、配列要素の長さが正しくありません。
------解決策---------
この形式は json ではなく、シリアル化です。その後の結果ですが、明らかにデータに問題があります

a:2:{i:0;s:21:"www";i:1;s:16:"eee";};

意味: 配列には 2 つの要素が含まれています。最初の要素は長さ 21 の文字列 www (明らかに間違っています。長さは 3 であるべきです)、2 番目の要素は長さ 16 の文字列 eee です。 (これも間違い)

$str='a:2:{i:0;s:3:"www";i:1;s:3:"eee";}';
var_dump (unserialize($ str));
//これは正しいはずです
------解決策-----------
array(2) { [0]=> ;文字列(3) "www" [1]=> 文字列(3) "eee" }
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。