2016-12-14 3 views
0

У меня есть файл JSON, который я прочитал из местоположения, и преобразовал его в строку, как показано ниже. Строковая переменная содержит точно такой же JSON, как указано ниже. Для некоторых целей тестирования я нуждался в этом. Я попробовал поиск в Интернете, но не нашел никакого решения.Как обновить значение атрибута .josn, преобразованное в строку?

Итак, я хочу обновить значение ключа «MainId». Как мне это сделать ?

Заранее спасибо.

Вот мой JSON:

{ 
"Entity": { 

    "MainId":"XFG", 

    "AlternateIdentifiers" : [ 

     { 
      "Type":{ 
       "Abbreviation":"ReferenceNumber" 
      }, 
      "Value":"abc" 
     } 

    ] 

    } 

} 

ответ

0

Хотите изменить значение MainId в строке переменной или вы хотите обновить значение MainId в объекте JSON?

+0

Я пытаюсь преобразовать строку json в объект java и попытался изменить значение через объект java, но я уверен, что что-то не так. Я хочу изменить значение ** mainid ** в строке (json), которое мне нужно для тестирования. –

+0

Вы определили объект класса Java с определенным параметром типа String? Gson будет сериализовать JSON для объекта, и вы можете изменить значение MainId из преобразованного объекта. Вы получаете какие-либо ошибки при анализе данных JSON на объект Java? –

+0

Это мой код выглядит как 'JsonElement je = gson.fromJson (jsons, JsonElement.class); JsonObject jo = je.getAsJsonObject(); jo.addProperty («BillToId», «4001»); ' - это добавление нового атрибута в конец объекта json, а не обновление. Я знаю, что имя добавляет addProperty(), но я нашел это только. –

0

Инициализировать JSONObject, вам нужно импортировать библиотеку json.org, поместить json в строку, а затем в конструктор JSONObject. Итак, вы можете перемещаться по JSON через этот новый объект.

+0

, даже после того, как он добавляет новый атрибут в json, а не обновляет существующий. Но когда я пытаюсь получить значение от json определенного атрибута, он работает отлично –