Tag: 序列化

Django rest框架,在同一个ModelViewSet中使用不同的序列化器

我想提供两个不同的序列化器,但是能够从ModelViewSet所有工具中受益: 在查看对象列表时,我希望每个对象都有一个redirect到其细节的url,并且使用目标模型的_ _ unicode _ _显示其他关系。 例: [ { "membri": [ "emilio", "michele", "luisa", "ivan", "saverio" ], "creatore": "emilio", "url": "http://127.0.0.1:8000/database/gruppi/2/", "nome": "universitari", "descrizione": "unitn!", "accesso": "CHI" } ] 查看对象的详细信息时,我想使用默认的HyperlinkedModelSerializer ,例如: { "url": "http://127.0.0.1:8000/database/gruppi/2/", "nome": "universitari", "descrizione": "unitn!", "creatore": "http://127.0.0.1:8000/database/utenti/3/", "accesso": "CHI", "membri": [ "http://127.0.0.1:8000/database/utenti/3/", "http://127.0.0.1:8000/database/utenti/4/", "http://127.0.0.1:8000/database/utenti/5/", "http://127.0.0.1:8000/database/utenti/6/", "http://127.0.0.1:8000/database/utenti/7/" ] } 我设法按照以下方式按照我的意愿完成所有这些工作: serializers.py # serializer […]

C#JSON.NET – 反序列化使用不寻常的数据结构的响应

我有一些麻烦找出一个干净(尽可能)的方式来反序列化一些特定格式的JSON数据。 我想反序列化数据到强types的数据对象类,非常灵活的具体细节。 以下是数据的例子: { "timestamp": 1473730993, "total_players": 945, "max_score": 8961474, "players": { "Player1Username": [ 121, "somestring", 679900, 5, 4497, "anotherString", "thirdString", "fourthString", 123, 22, "YetAnotherString"], "Player2Username": [ 886, "stillAstring", 1677, 1, 9876, "alwaysAstring", "thirdString", "fourthString", 876, 77, "string"] } } 我不确定的具体部分是: 球员的收集会被视为字典吗? 用户名可以作为键,但是这个值会把我扔掉,因为它是一个string和整数值的混合集合。 玩家完全由未命名的值组成。 我几乎一直使用名为属性和值的JSON数据(例如,时间戳,total_players等在顶部) 说我有这样的顶级课程: public class ScoreboardResults { public int timestamp { get; […]

C#TcpClient:使用分隔符发送序列化的对象?

基于序列化(在这里提到https://stackoverflow.com/a/7849374/985798 )我正在尝试重新构build我的小型TCP应用程序,直到现在使用string消息。 但是我遇到了一个小问题,我想知道你会推荐我使用什么解决scheme: 如果我试图在一个很小的时间间隔内发送多个消息,它们将被合并到“队列”中,客户端将同时收到两个消息,最终会得到一个单独的对象。 在过去,我用一个string分隔符“| end |”解决了这个问题 我能够分割它并在foreach循环中处理它。 这是一个好方法吗? 你将如何解决基于序列化的对象字节数组的问题? 你会使用一个byte[]分隔符或使用另一种解决scheme?

集合属性的XML反序列化与代码默认值

对于应用程序configuration,我经常会创build一个具有应用程序configuration值的configuration类,然后将其反序列化为要使用的对象。 configuration对象通常是数据绑定到用户界面控件,以便用户可以更改和保存configuration。 configuration类通常具有分配给属性的默认值,所以始终存在默认configuration。 这工作得很好。 我最近有一个情况,我有一个提供一些默认path信息的string列表。 而我所看到的让我意识到我并不完全知道如何在XML反序列化过程中将对象属性填充到对象中。 所以我创build了一个简单的例子来显示行为。 以下是一个简单的类,有一些代码默认的属性。 [Serializable] public class TestConfiguration { public String Name { get { return mName; } set { mName = value; } }private String mName = "Pete Sebeck"; public List<String> Associates { get { return mAssociates; } set { mAssociates = value; } } private List<String> mAssociates = new […]

如何让json.net序列化从List <T>派生的类的成员?

我创build了一个类PagedResult<T> : List<T> ,其中包含一些添加的成员,以便与我们的组件之一一起工作。 但是,当我运行JSON解串器时,它只是序列化列表。 如果我用[JsonObject]和[JsonProperty]标记派生类,那么它将只序列化派生类的成员,而不是列表。 我如何得到两个?

在序列化DateTime时强制JSON.NET包含毫秒(即使ms分量为零)

我使用JSON.NET直接从对象实例序列化DateTime值(不格式化程序使用DateTime.ToString())。 有没有办法强制JSON.NET在序列化中包含毫秒,即使DateTime的毫秒部分是零? 背景:对于这个JSON端点,我有一个非常慢的Web服务使用者。 条件逻辑对于消费者来说是昂贵的,所以我想每次都提供相同的数据格式。

jackson:如何添加自定义属性到JSON而不修改POJO

我正在为我的应用程序开发一个REST接口,使用Jackson将我的POJO域对象序列化为JSON表示。 我想为某些types定制序列化,以便为POJO中不存在的JSON表示添加附加属性(例如,添加一些元数据,引用数据等)。 我知道如何编写我自己的JsonSerializer ,但在这种情况下,我需要显式调用JsonGenerator.writeXXX(..)方法为我的对象的每个属性,而我所需要的只是添加一个额外的属性。 换句话说,我希望能够写下如下内容: @Override public void serialize(TaxonomyNode value, JsonGenerator jgen, SerializerProvider provider) { jgen.writeStartObject(); jgen.writeAllFields(value); // <– The method I'd like to have jgen.writeObjectField("my_extra_field", "some data"); jgen.writeEndObject(); } 或者(甚至更好)以某种方式拦截jgen.writeEndObject()调用之前的序列化,例如: @Override void beforeEndObject(….) { jgen.writeObjectField("my_extra_field", "some data"); } 我想我可以扩展BeanSerializer并覆盖它的serialize(..)方法,但它被宣布是final ,我也找不到一个简单的方法来创build一个BeanSerializer的新实例,而不提供所有的types元数据细节实际上重复一个很好的部分jackson。 所以我放弃了这样做。 我的问题是 – 如何自定义Jackson的序列化,为特定的POJO添加额外的东西到JSON输出中,而不会引入太多的样板代码,并尽可能重复使用默认的Jackson行为。

如何使用Google的Gson API正确地反序列化JSON?

总之,这是我想要在JAVA中parsing的JSON对象的草图: { object1: { item1: //[String | Array | Object] , item2: // … //<> more items object2: { /* .. */ } //<> more objects } 这些是我为parsing而创build的POJO (为简洁起见,我将省略import语句): (1)完整的JSON对象的表示 public class JObjectContainer { private List<JObject> jObjects ; public JObjectContainer() { } //get & set methods } (2)嵌套对象的表示: public class JObject { private String id […]

jQuery序列化不注册checkbox

我使用jQuery.serialize来检索表单中的所有数据字段。 我的问题是,它没有检索checkbox没有选中。 它包括: <input type="checkbox" id="event_allDay" name="event_allDay" class="checkbox" checked="checked" /> 但不是这个 <input type="checkbox" id="event_allDay" name="event_allDay" class="checkbox" /> 我怎样才能得到未检查checkbox的“值”?

如何使用JavaScript以跨浏览器的方式将DOM序列化为XML文本?

我有一个XML对象(使用XMLHTTPRequest的responseXML加载)。 我修改了对象(使用jQuery),并希望将其作为文本存储在一个string中。 Firefox等显然有一个简单的方法来做到这一点: var xmlString = new XMLSerializer().serializeToString( doc ); (来自rosettacode ) 但是,如何在IE6和其他浏览器 (当然,没有打破Firefox)呢?