2015-08-25 3 views
0

я пытаюсь преобразовать string в JsonObject с json.org libraray, но я получаю эту ошибку:Метод дополнения (String, JsonElement) в типе JSONObject не применяется для аргументов (String, String)

The method add(String, JsonElement) in the type JsonObject is not applicable for the arguments (String, String)

Код:

String macAddress = wInfo.getMacAddress(); 
JsonObject jsonObject = new JsonObject(); 
jsonObject.add("mac", macAddress); 

Результат должен выглядеть, такие как следующие: { "Mac": "10: А5: D0: 06: С6: Е9"}

+0

использования: jsonObject.put ("макинтош", MACADDRESS); –

+1

Информация очень понятная. Вы пытаетесь передать 'String' в качестве второго аргумента, но вы должны передать объект типа' JsonElement'. – wawek

+0

Добавить метод принимает только строку, JsonElement как параметр, но вы передаете строку, строку. –

ответ

1

, чтобы получить требуемый результат {"mac": "10:A5:D0:06:C6:E9"}, используйте put вместо add

JSONObject jsonObject = new JSONObject(); 
jsonObject.put("mac", macAddress); 

вместо

jsonObject.add("mac", macAddress); 
+0

Я пробовал это раньше, но я получил 'Метод put (String, String) не определен для типа JsonObject' – MrPencil

+0

это JSONObject? –

+0

Да, это спасибо – MrPencil

0

Я думаю, что я немного поздно, но этот ответ может помочь другим. Вы можете иметь свой код, как показано ниже

jsonObject.add("mac", String.valueOf(macAddress)); 

Вместо того, чтобы использовать «поставить()», чем «добавить()».

0

Вы можете использовать Gson

jsonObj.add("mac", new Gson().toJsonTree(macAddress));