Эффективный способ создания String в Java, который можно десериализовать в php api

1

Спасибо заранее и извините за мой плохой английский
Я использую magento api для синхронизации данных
теперь моя проблема - api accept string и использовать метод unserialize() для преобразования этой строки и использования этих данных
Если мы используем этот api из php, мы можем просто сгенерировать эту строку, используя метод serialize()
но я должен назвать это api из java и должен управлять этой строкой. Я сам здесь пример того, что происходит.
Код Php: -

$gp = array(
        'website_id' => '0',
        'cust_group' => '1',
        'price' => '5.50'
    );

И после использования метода serialize он генерирует некоторую строку, подобную этой.

serialize($gp)   
//it looks like : a:3:{s:10:"website_id";s:1:"0";s:10:"cust_group";s:1:"1";s:5:"price";s:4:"5.50";}

И тогда в php я могу использовать эту сериализованную строку как часть параметра запроса magento api
(это не весь запрос, это небольшая часть моего большого запроса)

Теперь в magento api он принимает строку и пытается неэтериализовать эту строку, используя метод php unserialize()

$groupPrice = unserialize($gp);

поэтому он снова создаст эту структуру массива в api и может использоваться как массив в php.

Теперь появляется моя проблема
Я хочу называть это api из java, потому что я написал код, подобный этому, который работает нормально, но я хочу знать, существует ли какой-либо другой способ,
Java-код: -

    String gp = getFormetedString("0","1","5.50");
    // will use this gp in my request as part of arguments
    public static String getFormetedString(String website_id, String cust_group, String price) {
        return "a:3:{s:10:\"website_id\";s:" + website_id.length() + ":\"" + website_id + "\";" 
                  + "s:10:\"cust_group\";s:" + cust_group.length() + ":\"" + cust_group + "\";" 
                  + "s:5:\"price\";s:" + price.length() + ":\"" + price + "\";}";

    }

Таким образом, он будет генерировать строку, такую как сериализованная строка php в java и которая будет передана как часть параметра запроса в java

я не могу изменить поведение api и использовать некоторые лучшие методы кодирования, такие как json или xml вместо метода сериализации php
поэтому plz предлагает некоторую технику генерации строки в java, которая похожа на сериализованную строку php-массива.

  • 1
    Этот вопрос помогает?
  • 2
    Как насчет этой ссылки ?
Показать ещё 1 комментарий
Теги:
serialization
magento

1 ответ

0

Вы также можете попробовать ссылку ниже.

https://www.drupal.org/node/319482

https://github.com/kayahr/pherialize/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню