Я никогда раньше не использовал 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 представляет:
В 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'); ?>