お世話になります。
$a= array(
"aaa" => array(
"aa" => "aaa",
"bb" => "bbb",
),
"bbb" => array(
"cc" => "ccc",
"dd" => "ddd",
)
);
上記のようなphpの配列をjsonファイルに書き出したいのですがうまく行かなくて困っています。
ご教授いただければ幸いです。
またjsonファイルに書きだすのにオブジェクトにして返したいのですがなにか方法はありますでしょうか?
宜しくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
ベストアンサー
json_encode
とjson_decode
を利用すれば良いと思います。
lang
1<?php 2 3/* 4{"aaa":{"aa":"aaa","bb":"bbb"},"bbb":{"cc":"ccc","dd":"ddd"}} 5array.jsonはこのようなデータが入っている。 6*/ 7$file = 'array.json'; 8 9$json = file_get_contents($file); 10$array = json_decode($json, true); 11 12var_dump($array); 13/* 14var_dumpの結果 15array(2) { 16 ["aaa"]=> 17 array(2) { 18 ["aa"]=> 19 string(3) "aaa" 20 ["bb"]=> 21 string(3) "bbb" 22 } 23 ["bbb"]=> 24 array(2) { 25 ["cc"]=> 26 string(3) "ccc" 27 ["dd"]=> 28 string(3) "ddd" 29 } 30} 31*/ 32 33$array['aaa']['cc'] = 'ccc'; 34var_dump($array); 35/* 36var_dumpの結果 37array(2) { 38 ["aaa"]=> 39 array(3) { 40 ["aa"]=> 41 string(3) "aaa" 42 ["bb"]=> 43 string(3) "bbb" 44 ["cc"]=> 45 string(3) "ccc" 46 } 47 ["bbb"]=> 48 array(2) { 49 ["cc"]=> 50 string(3) "ccc" 51 ["dd"]=> 52 string(3) "ddd" 53 } 54} 55*/ 56 57file_put_contents($file, json_encode($array), LOCK_EX); 58/* 59{"aaa":{"aa":"aaa","bb":"bbb","cc":"ccc"},"bbb":{"cc":"ccc","dd":"ddd"}} 60array.jsonの中身 61*/
このような形で実装できると思います。参考にして下さい。
投稿2015/01/09 11:40
総合スコア82
0
一度、json_encode
を利用してJson形式に変換した後に、jsonファイルに書き出しすれば良いと思います。
http://php.net/manual/ja/function.json-encode.php
lang
1$a = array( 2 "aaa" => array( 3 "aa" => "aaa", 4 "bb" => "bbb", 5 ), 6 "bbb" => array( 7 "cc" => "ccc", 8 "dd" => "ddd", 9 ) 10); 11 12file_put_contents('array.json', json_encode($a));
こんな感じですかね。
またjsonファイルに書きだすのにオブジェクトにして返したいのですがなにか方法はありますでしょうか?
ちょっと質問の内容が分かりませんでしたので、詳しく教えて頂けると助かります。
書きだすのにオブジェクトで返すというのは、書き出したファイルをオブジェクトとして取得したいということですかね?
投稿2015/01/09 10:48
総合スコア82
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/01/09 11:36

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/01/14 10:47