Я хочу изменить объект java, передав json String в мое приложение. Строка будет не содержит всю информацию о полном, измененном объекте, а просто один член, который должен быть установлен.Слияние объектов в объект java (JSON)
class SomeClass {
Object var1 = "Hello";
Object var2 = "AAA";
// A lot of fields goes here ...
}
public AppTest() throws Exception {
SomeClass myObject = new SomeClass();
myObject.var2 = "BBB";
String modification = "{\"var1\":\"Goodbye\"}";
Gson gson = new Gson();
SomeClass modifed = gson.fromJson(modification, SomeClass.class);
// TODO: Merge a modifed object into myObject somehow
}
Кроме того, некоторые из полей могут быть объектами с любым количеством полей. Опять же, я могу просто изменить один примитив внутри дочернего объекта. Более сложный пример:
class SomeOtherClass {
String var4 = "444";
String var5 = "555";
}
class SomeClass {
Object var1 = "111";
Object var2 = "222";
SomeOtherClass var3 = new SomeOtherClass();
}
public AppTest() throws Exception {
SomeClass myObject = new SomeClass();
myObject.var2 = "AAA";
myObject.var3.var5 = "BBB";
String modification = "{\"var3\":{\"var5\":\"XXX\"}}";
Gson gson = new Gson();
SomeClass modifed = gson.fromJson(modification, SomeClass.class);
// TODO: Merge the modifed object into myObject somehow
}
Итак, вопрос в том, как частично изменить объект с помощью JSON?
Вы предлагаете мне сделать это для каждого и каждой переменной из моих объектов? «myObject» в примере (последний) имеет 4 примитива json, мое приложение может иметь сотни ... И как определить, какая переменная «модифицированный» объект должна модифицировать? – gromit190
Я имел в виду: * каждая переменная моих классов – gromit190