2009-12-16 9 views
8

L'obiettivo è quello di unserialize una stringa PHP serialized e ottenere l'oggetto sutable in C#Come unserialize PHP serializzato serie/variabile/classe e tornare oggetto adatto in C#

Esiste un modo per rendere questo possibile in C# (. Net)?

Per essere più specifici: Abbiamo bisogno di creare un'applicazione che comunica (tramite HTTP) a un sito Web specifico che restituisce le informazioni necessarie. Fortunatamente/sfortunatamente non disponiamo dell'autorizzazione per il sito Web, quindi i dati (array per lo più) restituiti dal sito Web sono PHP serialized.

risposta

15

Trovato soluzione: Sharp Serialization Library

+1

Questo funziona per me finora. Una cosa da tenere a mente però: come ogni tecnica che utilizza una struttura di dati non ordinata come Hashtable, questo metodo Serialize non restituisce necessariamente una stringa identica quando viene richiamato su due oggetti logicamente identici. – solublefish

+0

Potrebbe dirmi il modo di deserializzare usando Sharp Serialization Library. –

1

Suppongo che l'utilizzo di JSON come passaggio intermedio possa essere utile.

+0

Potrebbe essere più preciso? Grazie :) – George

+0

Fortunatamente/sfortunatamente non abbiamo il permesso per il sito Web, quindi i dati (array in gran parte) che vengono restituiti dal sito Web sono serializzati in PHP. – George

1

Probabilmente dovresti scriverlo in XML o JSON. È possibile costruire il vostro C# oggetto di ritorno dal XML

Edit: Sembra che c'è già una XML serializer per PHP

+0

Ho aggiornato la domanda per essere più specifica. – George

+0

Fortunatamente/sfortunatamente non abbiamo il permesso per il sito Web in modo che i dati (array in gran parte) che vengono restituiti dal sito Web siano serializzati in PHP. – George