2014-08-27 38 views
0

我使用的API,使一个HTTP请求,我在下面的格式返回数据:API响应返回时髦的格式;试图解析和写入CSV

L_TIMESTAMP0=2014%2d08%2d22T05%3a57%3a28Z&L_TIMESTAMP1=2014%2d08%2d22T03%3a25%3a25Z& 

我通常在JSON返回数据,但我不知道如何准确地解析这一点。我看到分隔符是一个ampersand.Right现在我登录它从控制台,并试图将它写出来的CSV,但格式有点古怪:

System.out.println(response); 

try { 

    PrintWriter printWriter = new PrintWriter(new BufferedWriter(new FileWriter ("Data.txt", true))); 
    printWriter.println (response); 
    printWriter.close(); 

}catch (IOException e){ 

    System.out.println("Failed to write to .csv"); 

} 

任何想法?

+1

这基本上是URL编码...先尝试网址解码,然后你会得到你想要的值。 – 2014-08-27 18:04:08

回答

2

您的问题是,它返回一个URL编码字符串,这是为了避免与传递

一些问题,那么下一步是什么尝试这样的事情

String result = java.net.URLDecoder.decode(PrintWriter, "UTF-8"); 

告诉我它是如何为你

+0

是的,它不会改变格式。由于某种原因,它仍然是一样的。另外,为什么PrintWriter是一个参数? – user3456571 2014-08-27 18:24:34

+0

即时通讯不是那么伟大,所以这是错误的。 但我知道你得到的字符串是URL编码,你需要解码它,所以我有printwriter放在你的回应,然后尝试它可能工作 – user3750649 2014-08-27 18:26:37

+0

我在想“UTF-8”不是正确的编码。有什么想法吗? – user3456571 2014-08-27 18:42:08