Tag: 序列化

为什么python中的date时间对象的json序列化不能用于date时间对象

为什么json序列化不适用于datetime对象。 正如我所了解的json序列化,任何对象的基本思想都可以调用__str__内build函数,然后urlencode将得到的对象作为响应。 但在date时间的情况下,我得到以下错误 TypeError: datetime.datetime(2012, 5, 23, 18, 38, 23, 37566) is not JSON serializable 虽然有一个__str__ ,也就是将已经存在的对象__str__的方法,但是这似乎是一个有意识的决定,不这样做,为什么会这样呢?

与jackson忽略序列化的具体领域

我正在使用jackson图书馆。 序列化/反序列化时,我想忽略一个特定的字段,例如: public static class Foo { public String foo = "a"; public String bar = "b"; @JsonIgnore public String foobar = "c"; } 应该给我: { foo: "a", bar: "b", } 但是我得到: { foo: "a", bar: "b", foobar: "c" } 我用这个代码序列化对象: ObjectMapper mapper = new ObjectMapper(); String out = mapper.writeValueAsString(new Foo()); 我class上的字段的真实types是Log4J Logger类的一个实例。 我究竟做错了什么?

在C#中将XML反序列化为对象

所以我有这样的xml: <todo-list> <id type="integer">#{id}</id> <name>#{name}</name> <description>#{description}</description> <project-id type="integer">#{project_id}</project-id> <milestone-id type="integer">#{milestone_id}</milestone-id> <position type="integer">#{position}</position> <!– if user can see private lists –> <private type="boolean">#{private}</private> <!– if the account supports time tracking –> <tracked type="boolean">#{tracked}</tracked> <!– if todo-items are included in the response –> <todo-items type="array"> <todo-item> … </todo-item> <todo-item> … </todo-item> … </todo-items> </todo-list> 我将如何去使用.NET的序列化库反序列化成C#对象? 目前我正在使用reflection,并使用命名约定映射XML和我的对象之间。

System.Runtime.Serialization.Json命名空间在哪里?

我已经将System.Runtime.Serialization dll引用添加到我的项目,但仍然无法findSystem.Runtime.Serialization.Json命名空间,因此无法findDataContractJsonSerializer类。 我在这里错过了什么?

最后的瞬态场和序列化

在Java中进行序列化后,是否有可能将final transient字段设置为任何非默认值? 我的用例是一个cachingvariables – 这就是为什么它是transient 。 我也有一个习惯,就是不要改变Map字段(即地图内容改变,但是对象本身保持不变)。 然而,这些属性似乎是矛盾的 – 虽然编译器允许这样的组合,我不能有字段设置为任何东西,但在反序列化之后为null 。 我尝试了以下,没有成功: 简单的字段初始化(在这个例子中显示):这是我通常做的,但是在反序列化之后似乎没有发生初始化; 在构造函数中初始化(我相信这在语义上与上面相同); 在readObject()分配字段 – 由于该字段是final因此无法完成。 在这个例子中, cache是public仅用于testing。 import java.io.*; import java.util.*; public class test { public static void main (String[] args) throws Exception { X x = new X (); System.out.println (x + " " + x.cache); ByteArrayOutputStream buffer = new ByteArrayOutputStream (); […]

序列化不包括隐藏的字段

我在表单上运行序列化,其中的字段隐藏 – 这是一个非常重要的领域,应该发布。 有什么方法可以轻松地通过jQuery序列化,或者我应该写我自己的function?

WCF:属性与成员上的DataMember属性

在wcf中,在属性上应用DataMember属性有什么区别 private int m_SomeValue; [DataMember] public int SomeValue { get {…} set {…} } 而不是一个成员variables [DataMember] private int m_SomeValue; public int SomeValue { get {…} set {…} } ?

忽略Json.net中的空字段

我有一些数据,我必须序列化为JSON。 我正在使用JSON.NET。 我的代码结构是这样的: public struct structA { public string Field1; public structB Field2; public structB Field3; } public struct structB { public string Subfield1; public string Subfield2; } 问题是,我的JSON输出只需要Field1或Field2或Field3 – 它取决于使用哪个字段(即非空)。 默认情况下,我的JSON如下所示: { "Field1": null, "Field2": {"Subfield1": "test1", "Subfield2": "test2"}, "Field3": {"Subfield1": null, "Subfield2": null}, } 我知道我可以使用NullValueHandling.Ignore ,但是这给了我看起来像这样的JSON: { "Field2": {"Subfield1": "test1", "Subfield2": "test2"}, "Field3": […]

JSON.Net检测到自回参考循环

我在我的网站有4个表格的mssql数据库。 当我使用这个: public static string GetAllEventsForJSON() { using (CyberDBDataContext db = new CyberDBDataContext()) { return JsonConvert.SerializeObject((from a in db.Events where a.Active select a).ToList(), new JavaScriptDateTimeConverter()); } } 该代码导致以下错误: Newtonsoft.Json.JsonSerializationException:检测到types为“DAL.Cyber​​User”的属性“Cyber​​User”的自回参考循环。 path'[0] .EventRegistrations [0] .Cyber​​User.UserLogs [0]'。

为什么当一个构造函数用@JsonCreator注解时,它的参数必须用@JsonProperty注解?

在Jackson中,当你用@JsonCreator注解一个构造函数时,你必须用@JsonProperty注释它的参数。 所以这个构造函数 public Point(double x, double y) { this.x = x; this.y = y; } 变成这样: @JsonCreator public Point(@JsonProperty("x") double x, @JsonProperty("y") double y) { this.x = x; this.y = y; } 我不明白为什么这是必要的。 你能解释一下吗?