I'm working on a Silverlight 3 application that has to communicate with a PHP 5.2.13 server app. We're using JSON.NET to finish the job, but I'm having some problems with Dictionaries.
Ben bazı deneyler yapıyor ve bir sözlük içeren bir nesne serisini çalışıyorum:
public Dictionary<string, Block> Table
{
get { return m_table; }
set { m_table = value; }
}
C # düzgün serializes ve ben onunla mutluyum, ama sahip bir eşdeğer nesne seri hale PHP tarafında, boş bir Table
, bu iş olmaz.
$this->Table = array();
Sorun boş diziler, belli ki, bir ilişkisel dizi olarak kabul edilmez ve bu yüzden []
yerine {}
olarak ihraç olmasıdır.
Ben istemci bazı temiz-up yapmak sonra dizi (kuvvet assoc) için 'null' => null
gibi bir şey ekleme ve düşündüm, ama ben müşteri C # ne nesneleri ben null olmak çok onları kısıtlama olabilir kontrol etmiyoruz ... Ben bu bir şaşırıp ;)
Eğer herhangi bir çözüm biliyor musunuz?
Zaman ayırdığınız için teşekkürler, çok takdir :)
EDIT: To clarify, I can't control the structure of both, the C# and PHP objects. On my test I've created an object which contains a dictionary but the hole object gets encoded at once. Here's an over simplified version of it:
class Block
{
public $X = 0;
public $Y = 0;
public $Name = '';
public $Children = array();
public $Table = array();
public $Nested = null;
}
Nerede Table
bir sözlük olmalı ve kodlanmış gerekir
echo json_encode( new Block() );