我想用我的數據使用json + php。我讀了更多的文檔來做到這一點,基本功能是json_decode()和json_encode()。我的問題是,閱讀更多文檔和閱讀結構的不同例子在我身上產生了很多疑問。如何在PHP中以'複雜'結構使用json?
我想創建這樣begine從基本到容器的結構:
- 有一個基地,即有2個屬性:ID和值
- 有一個可以有多個基地一個操作
- 有一個命令,可以有多個操作(如果可能的屬性callad名)
在我心中的結構是這樣的...
[ //The start of Commands
//Can make a property name here like "name":"puls1"
[ //Operation1
{ //Base1
"id":"22398",
"value":"255"
},
{ //Base2
"id":"22657",
"value":"80",
},
{ //Base3
"id":"7928",
"valore":"15"
}
],
[ //Operation2
{ //Base1
"id":"22398",
"value":"0"
},
{ //Base2
"id":"22657",
"value":"0",
},
{ //Base3
"id":"7928",
"valore":"0"
}
],
] //The close of Commands
但我已經把[和{以不正確的順序,我想... 我怎樣才能使這樣的json結構?並設置一個命令後插入一個新的操作或刪除操作?
感謝的所有..
// OK回答時我做了這個代碼
class Base
{
var $i;
var $value;
function __construct($i,$v)
{
$this->id = $i;
$this->value = $v;
}
}
$a = new Base('1','11');
$b = new Base('2','10');
$c = new Base ('3','20');
$d = new Base ('4','30');
class Operation
{
var $name;
var $values = Array();
function __construct($a)
{
$this->name = $a;
}
public function addArray($a)
{
array_push($this->values,$a);
}
}
$oper1 = new Operation("op1");
$oper1->addArray($a);
$oper1->addArray($b);
$oper2= new Operation("op2");
$oper2->addArray($c);
$oper2->addArray($d);
$commands = Array($oper1,$oper2);
echo json_encode($tot);
現在的問題是如何讓我的復歸操作?這種json_decode的使用和適當的結構包裝?
與您的代碼我試試這個類的基地 \t { \t變量$ ID; \t變量$值; \t \t function __construct($ i,$ v) \t { \t \t $ this-> id = $ i; \t \t $ this-> value = $ v; \t} \t} \t \t $ a = new Base('1','11'); \t $ b = new Base('2','10'); \t \t \t $ commans1 = Array($ a,$ b); \t $ commans2 = Array($ a,$ b); \t \t $ tot = Array($ commans1,$ commans2); \t \t echo json_encode($ tot); 如何添加屬性名稱到操作? – user473349 2010-11-12 09:57:35