Gui*_*lmi 6 javascript java json gson
我把这个String并解析为一个Javascript对象.
{
"startTime": 233432420233,
"endTime": 233432431000,
"bufferingDelays": [
{
"time": 233432420233,
"delayLength": 100
},
{
"time": 233432420433,
"delayLength": 50
},
{
"time": 233432420833,
"delayLength": 75
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是执行解析的Javascript代码,然后转换为JSON字符串:
var reportObject = jQuery.parseJSON(reportJSONString);
reportObject.startTime = new Date(reportObject.startTime);
reportObject.endTime = new Date(reportObject.endTime);
for (var i = 0; i < reportObject.bufferingDelays.length; i++)
{
var delay = reportObject.bufferingDelays[i];
delay.time = new Date( delay.time );
reportObject.bufferingDelays[i] = delay;
}
var reportObjectFinalString = JSON.stringify( reportObject );
Run Code Online (Sandbox Code Playgroud)
JSON转换产生的日期之一是:1977-05-25T18:20:20.233Z.我认为尾随'Z'很糟糕.
现在在Java中我尝试将其解析为Java对象,如下所示:
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").create();
Report report = gson.fromJson( jsonBuilder.toString(), Report.class );
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个例外:
SEVERE: Servlet.service() for servlet [ReportServlet] in context with path [/Report] threw exception [com.google.gson.JsonSyntaxException: 1977-05-25T18:20:20.233Z] with root cause
java.text.ParseException: Unparseable date: "1977-05-25T18:20:20.233Z"
Run Code Online (Sandbox Code Playgroud)
Sot*_*lis 10
你需要引用Z过
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").create();
Run Code Online (Sandbox Code Playgroud)
将SimpleDateFormat(在使用GsonBuilder)主罚未加引号Z的意思,你的日期字符串没有一个时区.
| 归档时间: |
|
| 查看次数: |
7278 次 |
| 最近记录: |