簡體   English   中英

Java String.valueOf返回空字符串

[英]Java String.valueOf returns null string

我有一個json輸入,我需要將json中的值之一分配給int。 我該怎么做?

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簡單jar

2)我沒有任何輸入值的ID在JSON。 在這里,我不確定為什么要輸入條件。

當我這樣做時:如果條件出現,它將進入內部:

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

輸出:

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

我的傑森:

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

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

原因如下:String.valueOf的實現是:

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);
 }
    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);
    }

我改變了一些方法,如果可行,請嘗試一下...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM