Спасибо заранее и извините за мой плохой английский
Я использую 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-массива.
Вы также можете попробовать ссылку ниже.