У меня есть php json creater. Это веб-сервис, и я использую его в android. У меня есть sql-данные, классы и хотелось бы запускать запросы в классе.
Это мой json-парсер без классов.
<?php
/$sql_query = blabla{
$dolaplar= array();
/* fetch object array */
while ($obj = $result->fetch_object()) {
// printf ("%d - %s - %s\n", $obj->id, $obj->tanim, $obj->tipi);
$dolaplar[]= $obj;
}
$kodlanmis= json_encode($dolaplar);
echo $kodlanmis;
/* free result set */
$result->close();
}
?>
И это данные json.
[
{
malzeme_id: "9",
malzeme_adi: "10 kohm direnc",
malzeme_miktari: "580"
},
{
malzeme_id: "8",
malzeme_adi: "Hdmi Kablosu",
malzeme_miktari: "128"
},
{
malzeme_id: "7",
malzeme_adi: "Kirmizi Led",
malzeme_miktari: "-653"
}
]
Вот классы.
<?php
class A {
public $Message = "Success";
public $MessageInfo = "";
public $Payload = array();
function __construct(){
for ( $i=3; $i-->0;){
array_push($this->Payload, new B);
}
}
}
class B {
public $a = 3;
public $b = 4;
}
echo json_encode(new A);
?>
И я хотел бы видеть такие данные json.
{
Message: "Success",
MessageInfo: "",
Payload: [
{
malzeme_id: "9",
malzeme_adi: "10 kohm direnc",
malzeme_miktari: "580"
},
{
malzeme_id: "8",
malzeme_adi: "Hdmi Kablosu",
malzeme_miktari: "128"
},
{
malzeme_id: "7",
malzeme_adi: "Kirmizi Led",
malzeme_miktari: "-653"
}
]
}
Я не очень хорошо разбираюсь в php. Является ли это возможным?
Вы можете добавить параметр к своим конструкторам класса A и класса B:
Класс A:
class A {
public $Message = "Success";
public $MessageInfo = "";
public $Payload = array();
function __construct($data){
foreach ($data as $d) {
array_push($this->Payload, new B($d));
}
}
}
Класс B:
class B {
public function __construct($data) {
array_walk($data, function($value, $key){
$this->$key = $value;
});
}
}
Тогда ваш звонок будет выглядеть примерно так:
$data = $dolapla // ???
echo json_encode(new A($data));