2014-09-11 5 views
0

У меня есть вход json, мне нужно назначить одно из значения от json до int. Как мне это сделать?Java String.valueOf возвращает нулевую строку

1) Я пробовал этот путь, есть ли лучший подход?

 String idValue = String.valueOf(jsonObject.get("id")); 
     System.out.println("IDValue 1 is-->"+jsonObject.get("id")); 
     System.out.println("IDValue 2 is-->"+idValue); 
     int id = 0; 
     if(idValue != null){ 
      System.out.println("IDValue 3 is-->"+idValue); 
      id = Integer.parseInt(idValue); 
     } 

вывод консоли:

IDValue 1 is-->null 
IDValue 2 is-->null 
IDValue 3 is-->null 

Я использую Java1.7 и JSon простого баночку

2) Я не иметь любое значение входного сигнала для идентификатора в JSON. Здесь я не уверен, почему он входит внутрь, если условие.

Когда я делаю это: Он входит внутрь, если условие:

if(idValue.equals("null")){ 
      System.out.println("Entered inside"); 
} 

выход:

IDValue 1 is-->null 
    IDValue 2 is-->null 
    IDValue 3 is-->null 
    Entered inside 

Мои Json:

[ 
{ 
"Company":"BEG22", 
"Account":"1004", 
"Deptid":"13" 
}, 

{ 
"Company":"BEG3", 
"Account":"1002", 
"Deptid":"24" 
} 
] 
+0

Для начала вам нужно на самом деле получить значения из JSON - это кажется, из вашего консольного вывода, что вы не делаете. –

+0

IdValue == "null" –

+0

Увидите, что вы видите свою проблему? попробуйте это, если оно работает String idValue = String.valueOf (jsonObject.get ("Deptid")); – StackFlowed

ответ

1

Вот причина: Реализация строки .valueOf is:

public static String valueOf(Object obj) { 
    return (obj == null) ? "null" : obj.toString(); 
} 

Итак, наконец:

if(!idValue.equals("null")){ 
    System.out.println("IDValue 2 is-->"+idValue); 
    id = Integer.parseInt(idValue); 
} 
+0

Как я уже сказал ...! Использовать .equals проверить ответ, если он работает – StackFlowed

0
String idValue = String.valueOf(jsonObject.get("Deptid")); 
    System.out.println("IDValue 1 is-->"+jsonObject.get("Deptid")); 
    System.out.println("IDValue 2 is-->"+idValue); 
    int id = 0; 
    if("null".equals(idValue)){ 
     System.out.println("IDValue 3 is-->"+idValue); 
     id = Integer.parseInt(idValue); 
    } 

Несколько вещей, которые я изменить это попробовать, если он работает ...

Смежные вопросы