Java 从json对象获取字符串不起作用

Java 从json对象获取字符串不起作用,java,json,gson,Java,Json,Gson,我使用gsonlibrary从http请求中获取json。 除了比较从请求中收到的字符串的部分之外,其他部分都可以正常工作。即使字符串完全相同,由于某种原因,string.equals方法也会失败。作为输出,它总是打印不同的日期 这种行为的原因是什么?我错过了什么 BufferedReader br; try{ String url = "http://date.jsontest.com/"; URL request_url = new URL(url)

我使用
gson
library从http请求中获取json。 除了比较从请求中收到的字符串的部分之外,其他部分都可以正常工作。即使字符串完全相同,由于某种原因,
string.equals
方法也会失败。作为输出,它总是打印不同的日期

这种行为的原因是什么?我错过了什么

 BufferedReader br;
    try{
        String url = "http://date.jsontest.com/";
        URL request_url = new URL(url);
        HttpURLConnection conn = (HttpURLConnection)request_url.openConnection();
        conn.setRequestMethod("GET");

        if (200 == conn.getResponseCode()){
            br = new BufferedReader(new InputStreamReader((conn.getInputStream())));

            String jsonLine = "";
            String line ;
            while ((line = br.readLine()) != null) {
                jsonLine += line;
            }

            JsonElement jelement = new JsonParser().parse(jsonLine);
            JsonObject  jobject = jelement.getAsJsonObject();

            try{
                String result = jobject.get("date").toString();
                System.out.println("res: " + result);

                if(result.equals("05-29-2017"))
                    System.out.println("Same date");
                else
                    System.out.println("different date");
            }
            catch (NullPointerException ex){ }
        }
    }
    catch (JsonSyntaxException ex){} 
    catch (IOException ex) {}
上行将返回日期的字符串表示形式,即在其周围加引号:
“05-29-2017”
,这就是为什么
equals
方法返回
false
“\“05-29-2017\”。equals(“05-29-2017”)
将由于开始和结束处的双引号而变为
false

如果需要实际值,则需要使用
getAsString
方法,例如,以下方法应该有效:

String result = jobject.get("date").getAsString();
if(result.equals("05-29-2017"))
    System.out.println("Same date");
else
    System.out.println("different date");

它打印什么?System.out.println(“res:+结果”)@YanKhonski it打印
05-29-2017
String result = jobject.get("date").getAsString();
if(result.equals("05-29-2017"))
    System.out.println("Same date");
else
    System.out.println("different date");