Небольшая программа, которую я запускаю, будет создавать 4 объекта, каждый из которых имеет типы данных, такие как массив bool, строки, целые и т. Д., И все 4 класса содержатся в суперклассе (с целью сделать его одной строкой json)
например
public class Foo
{
private A a;
private B b;
private C c;}
public class A
{
String str;
int int_;
}
public class B
{
boolean arr[];
}
public class C
{
// maybe an object, or rnum, or just priv data types
}
Теперь я могу легко преобразовать это в JSON с помощью библиотеки Gson. Моя проблема заключается в отправке этого на страницу PHP, где он может декодировать JSON и сохранить данные из каждого объекта. Теперь я новичок в PHP и из того, что я видел, люди говорят, что используют
json_encode ();
json_decode ();
и что это мне интересно, если это лучший / самый простой способ? Исходя из того, что, я думаю, я видел в Интернете, декодер создаст объект, но соответствует ли этот объект java-объекту точно так же? это лучший способ? Извините за то, что я нуб в этом, но любая помощь приветствуется
Функция json_encode будет работать для преобразования объекта PHP в Json. Вы хотите посмотреть на реализацию \ JsonSerializable интерфейс для этого процесса. Идти другим путем немного сложнее. Самый прямой подход заключается в использовании https://github.com/cweiske/jsonmapper. Вы также можете json_decode в stdClass, использовать сериализатор php, чтобы превратить stdClass в строку, а затем регулярное выражение заменить класс из \ stdClass на нужный вам класс. Это немного глупо, но это работает. Увидеть этот пост для примера.
Других решений пока нет …