У меня есть некоторые данные, подобные этому
"name": "abc", "adr": "bcd", "partners": { "101": { "name": "xyz.com", "prices": { "1001": { "description": "Single Room", "amount": 125, "from": "2012-10-12", "to": "2012-10-13" }, "1002": { "description": "Double Room", "amount": 139, "from": "2012-10-12", "to": "2012-10-13" } }
Теперь я должен написать json со всеми этими данными и использовать его в качестве источника данных.
Как мне это сделать ?
Данные, опубликованные вами, недействительны JSON. Он пропускает некоторые окружающие и заканчивающиеся скобки.
Хорошо, давайте исправим это … и сохраним его как data.json
:
{ "name": "abc", "adr": "bcd", "partners": { "101": { "name": "xyz.com", "prices": { "1001": { "description": "SingleRoom", "amount": 125, "from": "2012-10-12", "to": "2012-10-13" }, "1002": { "description": "DoubleRoom", "amount": 139, "from": "2012-10-12", "to": "2012-10-13" } } } } }
Чтобы получить доступ к JSON с помощью PHP, вы можете просто загрузить файл и преобразовать JSON в массив.
<?php $jsonFile = "data.json" $json = file_get_contents($jsonFile); $data = json_decode($json, TRUE); echo "<pre>"; print_r($data); echo "</pre>"; ?>
PHP-скрипт для создания файла, содержащего эти данные, как json
// the data you need $phpData = [ "name" => "abc", "adr" => "bcd", "partners" => [ "101" => [ "name" => "xyz.com", "prices" => [ "1001" => [ "description" => "Single Room", "amount" => 125, "from" => "2012-10-12", "to" => "2012-10-13", ], "1002" => [ "description" => "Double Room", "amount" => 139, "from" => "2012-10-12", "to" => "2012-10-13", ] ] ] ] ]; // json_encode() that data to a string $jsonData = json_encode($phpData); // write that string to your file file_put_contents('myJsonFile.json', $jsonData);
И использовать его как источник данных
$myData = json_decode( file_get_contents('myJsonFile.json') );