【发布时间】:2018-05-17 22:44:57
【问题描述】:
我需要使用后端的杰克逊映射器和前端的统一映射器(JsonUtility),通过 json 将 Java 日期从后端解析到 c# 前端(Unity)。
现在这两个映射器似乎不能一起工作,因为统一映射器总是无法接收正确的日期并默认为“空日期”。 我的问题是,我是否需要通过网络发送尽可能长(毫秒)的日期? 如果是这样,我的杰克逊映射器将需要一个自定义(反)序列化器 - 是否有任何性能权衡?
编辑:
代码不多解释:
Maven 依赖后端
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.2</version>
</dependency>
后端(在我的例子中是 spring boot)
import lombok.Data;
import java.util.Date;
@Data
public class Backend{
private Date aDate;
public Backend() {
this.aDate = new Date();
}
}
调用 REST API 时的 JSON
{
"aDate": "2018-05-18T22:35:47.760+0000"
}
前端(C#/Unity)
using System;
[Serializable]
public class FrontEnd
{
public DateTime aDate;
}
private IEnumerator AcceptWww(WWW www)
{
// call made to Backend REST receiving an Backend object here
yield return www;
// trying to parse this to a FrontEnd object
var dateObject = JsonUtility.FromJson<FrontEnd>(www.text);
// date will always default to 1970
dateObject.aDate;
}
提前致谢,
码海
【问题讨论】:
-
你不是新手,现在应该知道你的代码需要找出问题所在。
-
您好程序员,没有太多代码可以解释这一点,但您仍然完全正确 - 我更新了我的问题以满足需求。
标签: java c# json unity3d jackson