PHP как сериализованная строка в .NET - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть устаревшее приложение PHP, которое использует метод PHP serialize() для сериализации класса и сохранения его в файле, и есть другие приложения, использующие эту строку, используя метод unserialize() для создания объекта сериализованного класса и использования данные связаны. Мне нужно добиться аналогичной техники сериализации в .NET, чтобы вывод был таким же, как в PHP. Я думаю использовать для этого Reflection, но мне все еще нужно определить, как я буду этим пользоваться. Я также пробовал сериализацию .NET, но вывод совершенно другой.

Есть ли другой способ сделать это?

рассмотрим пример ниже -

образец класса php

class SerializeTest
{
    var $test = 0;
    var $test1 = "testing";
    var $test2 = 1;
    var $test3 = "testing1";

    public function __construct()
    {
        echo serialize($this);
    }
}

сериализованная строка

O:13:"SerializeTest":4:{s:4:"test";i:0;s:5:"test1";s:7:"testing";s:5:"test2";i:1;s:5:"test3";s:8:"testing1";}

образец .NET Class

class SerializeDemo
{
    internal int test = 0;
    internal string test1 = "testing";
    internal int test2 = 1;
    internal string test3 = "testing3";
}

требуется сериализованная строка

O:13:"SerializeTest":4:{s:4:"test";i:0;s:5:"test1";s:7:"testing";s:5:"test2";i:1;s:5:"test3";s:8:"testing1";}

1 Ответ

0 голосов
/ 16 апреля 2019

Попробуйте Sharp Serialization Library

Sharp Serialization Library сериализует и десериализует примитивы, ArrayLists и Hashtables, совместим с PHP serialize () .Используйте его для связи SOAP / Web-сервисов, где Hashtables нельзя передать другим способом, или для сохранения в файл, читаемый php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...