2015-06-21 2 views
3

У меня есть некоторые данные, как этотКак написать json-файл в качестве источника данных в php?

"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 со всеми этими данными и использовать его в качестве источника данных.

Как я могу это сделать?

+0

Создать скрипт, содержащий данные, которые необходимы (как массив, объекты, что угодно), json_encode(), что данные в строку и записать эту строку в ваш файл –

+0

@MarkBaker, пожалуйста, дайте небольшой пример –

+0

Дополнение к ответам ниже, используйте тип данных 'blob' для поля в вашей базе данных. – BentCoder

ответ

1

Данные, которые вы опубликовали, недействительны 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>"; 
?> 
+0

Рад, что я мог помочь. –

0

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') 
); 
Смежные вопросы