Intereting Posts
как вставить несколько значений флажка в базу данных, используя php Nginx и FastCGI загружают файлы PHP вместо их обработки Получение списка файлов по папке на SDK накопителя move_uploaded_file () не может открыть поток PHP: Экспресс-номер в словах INSERT – PHP и SQL Server Ошибка сертификата SSL: невозможно получить сертификат локального эмитента при аутентификации с помощью Podio Как зарегистрировать пользователя из приложения Symfony 2 с помощью внутренних обработчиков Как получить максимальную ценность определенного тега в XML-файле с помощью SimpleXML? Ошибка Sagepay 5068: метод шифрования не поддерживается (обновить с 2.22 до 3.00) Facebook API. Как получить изображение профиля пользователя Facebook через API Facebook (не требуя от пользователя «Разрешить» приложение) Чтение удаленного размера файла с использованием размера файла Как использовать внешний CSS в формате tcpdf pdf Вызов функции php с помощью события onclick как отправить png изображение с сервера для отображения в браузере через ajax

Как сгенерировать json с помощью php?

Я никогда раньше не использовал JSON, и я пытаюсь использовать следующий javascript: http://jqueryselectcombo.googlecode.com/files/jquery.selectCombo1.2.6.js

Он должен иметь выход JSON в следующем формате:

[{oV: 'myfirstvalue', oT: 'myfirsttext'}, {oV: 'mysecondvalue', oT: 'mysecondtext'}] 

Не могли бы вы привести меня к примеру о том, как генерировать вывод JSON, как указано выше, используя PHP?

Самый простой способ – это, вероятно, начать с ассоциативного массива пар, который вы хотите:

 $data = array("myfirstvalue" => "myfirsttext", "mysecondvalue" => "mysecondtext"); 

затем используйте привязку foreach и некоторую конкатенацию строк:

 $jsontext = "["; foreach($data as $key => $value) { $jsontext .= "{oV: '".addslashes($key)."', oT: '".addslashes($value)."'},"; } $jsontext = substr_replace($jsontext, '', -1); // to get rid of extra comma $jsontext .= "]"; 

Или, если у вас есть последняя версия PHP, вы можете использовать встроенные функции кодирования json – просто будьте осторожны с данными, которые вы передаете, чтобы они соответствовали ожидаемому формату.

После того, как у вас есть данные PHP, вы можете использовать функцию json_encode ; он связан с PHP с PHP 5.2

В вашем случае строка JSON представляет:

  • список, содержащий 2 элемента
  • каждый из которых является объектом, содержащим 2 свойства / значения

В PHP это создаст структуру, которую вы представляете:

 $data = array( (object)array( 'oV' => 'myfirstvalue', 'oT' => 'myfirsttext', ), (object)array( 'oV' => 'mysecondvalue', 'oT' => 'mysecondtext', ), ); var_dump($data); 

var_dump получает вас:

 array 0 => object(stdClass)[1] public 'oV' => string 'myfirstvalue' (length=12) public 'oT' => string 'myfirsttext' (length=11) 1 => object(stdClass)[2] public 'oV' => string 'mysecondvalue' (length=13) public 'oT' => string 'mysecondtext' (length=12) 

И, кодируя его JSON:

 $json = json_encode($data); echo $json; 

Вы получаете :

 [{"oV":"myfirstvalue","oT":"myfirsttext"},{"oV":"mysecondvalue","oT":"mysecondtext"}] 

BTW: Frolm, что я помню, я бы сказал, что ваша строка JSON недействительна – данные JSON: внутри строки должны быть двойные кавычки, включая имена свойств объектов

См. http://www.json.org/ для грамматики.

Надеюсь это поможет 🙂

Это должно быть полезно: создание JSON

Это код php для генерации json-формата

 <?php $catId = $_GET['catId']; $catId = $_POST['catId']; $conn = mysqli_connect("localhost","root","","DBName"); if(!$conn) { trigger_error('Could not Connect' .mysqli_connect_error()); } $sql = "SELECT * FROM TableName"; $result = mysqli_query($conn, $sql); $array = array(); while($row=mysqli_fetch_assoc($result)) { $array[] = $row; } echo'{"ProductsData":'.json_encode($array).'}'; //Here ProductsData is just a simple String u can write anything instead mysqli_close('$conn'); ?> в <?php $catId = $_GET['catId']; $catId = $_POST['catId']; $conn = mysqli_connect("localhost","root","","DBName"); if(!$conn) { trigger_error('Could not Connect' .mysqli_connect_error()); } $sql = "SELECT * FROM TableName"; $result = mysqli_query($conn, $sql); $array = array(); while($row=mysqli_fetch_assoc($result)) { $array[] = $row; } echo'{"ProductsData":'.json_encode($array).'}'; //Here ProductsData is just a simple String u can write anything instead mysqli_close('$conn'); ?>