Sözlük / nesneye boş diziler Serializng ve deserializing

0 Cevap

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() );

0 Cevap