标签: serialization

Java中是否存在用于协议缓冲区分隔I/O函数的C++等价物?

我正在尝试从C++和Java中的文件读取/写入多个Protocol Buffers消息.谷歌建议在消息之前写长度前缀,但默认情况下没办法(我可以看到).

但是,2.1.0版中的Java API收到了一组"Delimited"I/O函数,显然可以完成这项工作:

parseDelimitedFrom
mergeDelimitedFrom
writeDelimitedTo
Run Code Online (Sandbox Code Playgroud)

有C++等价物吗?如果没有,那么Java API附加的大小前缀是什么,所以我可以用C++解析这些消息?


更新:

这些现在存在于google/protobuf/util/delimited_message_util.hv3.3.0中.

c++ java serialization protocol-buffers

64
推荐指数
7
解决办法
2万
查看次数

NewtonSoft.Json使用IEnumerable类型的属性序列化和反序列化类<ISomeInterface>

我试图移动一些代码来使用ASP.NET MVC Web API生成的Json数据而不是SOAP Xml.

我遇到了序列化和反序列化类型属性的问题:

IEnumerable<ISomeInterface>.
Run Code Online (Sandbox Code Playgroud)

这是一个简单的例子:

public interface ISample{
  int SampleId { get; set; }
}
public class Sample : ISample{
  public int SampleId { get; set; }
}
public class SampleGroup{
  public int GroupId { get; set; }
  public IEnumerable<ISample> Samples { get; set; }
 }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用以下命令轻松序列化SampleGroup的实例:

var sz = JsonConvert.SerializeObject( sampleGroupInstance );
Run Code Online (Sandbox Code Playgroud)

但是相应的反序列化失败:

JsonConvert.DeserializeObject<SampleGroup>( sz );
Run Code Online (Sandbox Code Playgroud)

使用此异常消息:

"无法创建JsonSerializationExample.ISample类型的实例.Type是接口或抽象类,无法立即显示."

如果我派生出一个JsonConverter,我可以按如下方式装饰我的属性:

[JsonConverter( typeof (SamplesJsonConverter) )]
public IEnumerable<ISample> Samples { get; set; }
Run Code Online (Sandbox Code Playgroud)

这是JsonConverter:

public class SamplesJsonConverter : …
Run Code Online (Sandbox Code Playgroud)

c# serialization json json.net deserialization

63
推荐指数
4
解决办法
22万
查看次数

抽象类是否应该具有serialVersionUID

在java中,如果一个类实现Serializable但是是抽象的,它是否应该声明一个longVersionUID,或者子类只需要它?

在这种情况下,确实意图是所有子类都处理序列化,因为该类型的目的是在RMI调用中使用.

java serialization abstract-class serialversionuid

62
推荐指数
3
解决办法
2万
查看次数

将Python字典序列化为XML

有一个名为"simplejson"的简单JSON序列化模块,它可以轻松地将Python对象序列化为JSON.

我正在寻找可以序列化为XML的类似模块.

python xml serialization xml-serialization

62
推荐指数
4
解决办法
7万
查看次数

Java:对象为byte []和byte []对象转换器(对于Tokyo Cabinet)

我需要将对象转换为byte []以存储在Tokyo Cabinet键值存储中.当从键值存储区读取时,我还需要将byte []取消对象.

那里有什么包可以帮我完成这项任务吗?或者是我自己实施的最佳解决方案?

java serialization byte bytearray tokyo-cabinet

62
推荐指数
5
解决办法
13万
查看次数

C#JSON将Dictionary序列化为{key:value,...}而不是{key:key,value:value,...}

是否可以使用以下格式的DataContractJsonSerializer将.Net Dictionary <Key,Value>序列化为JSON :

{
  key0:value0,
  key1:value1,
  ...
}
Run Code Online (Sandbox Code Playgroud)

我使用Dictionary <K,V>,因为没有预定义的输入结构.

我对DataContractJsonSerializer结果感兴趣!我已经找到了一个"Surrogate"示例,但输出中还有一个"数据",如果字典<K,String>,则转义也是假的.


我找到了解决方案,需要什么!首先,一个可序列化的"字典"类:(当然,这个示例只是以一种方式工作,但我不需要反序列化)

[Serializable]
public class MyJsonDictionary<K, V> : ISerializable {
    Dictionary<K, V> dict = new Dictionary<K, V>();

    public MyJsonDictionary() { }

    protected MyJsonDictionary( SerializationInfo info, StreamingContext context ) {
        throw new NotImplementedException();
    }

    public void GetObjectData( SerializationInfo info, StreamingContext context ) {
        foreach( K key in dict.Keys ) {
            info.AddValue( key.ToString(), dict[ key ] );
        }
    }

    public void Add( K key, V value ) …
Run Code Online (Sandbox Code Playgroud)

c# serialization json dictionary

61
推荐指数
5
解决办法
12万
查看次数

如何将对象序列化为查询字符串格式?

如何将对象序列化为查询字符串格式?我似乎无法在谷歌上找到答案.谢谢.

这是我将序列化的对象作为示例.

public class EditListItemActionModel
{
    public int? Id { get; set; }
    public int State { get; set; }
    public string Prefix { get; set; }
    public string Index { get; set; }
    public int? ParentID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

asp.net serialization object query-string

61
推荐指数
5
解决办法
5万
查看次数

Java自定义序列化

我有一个对象,其中包含一些我想序列化的不可序列化的字段.它们来自我无法更改的单独API,因此将它们设置为Serializable不是一种选择.主要问题是Location类.它包含四个可以序列化的东西,我需要它们,所有的内容.如何使用read/writeObject创建可执行以下操作的自定义序列化方法:

// writeObject:
List<Integer> loc = new ArrayList<Integer>();
loc.add(location.x);
loc.add(location.y);
loc.add(location.z);
loc.add(location.uid);
// ... serialization code

// readObject:
List<Integer> loc = deserialize(); // Replace with real deserialization
location = new Location(loc.get(0), loc.get(1), loc.get(2), loc.get(3));
// ... more code
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

java serialization

61
推荐指数
2
解决办法
7万
查看次数

使用JsonConvert.DeserializeObject将Json反序列化为C#POCO类

这是我简单的UserPOCO课程:

/// <summary>
/// The User class represents a Coderwall User.
/// </summary>
public class User
{
    /// <summary>
    /// A User's username. eg: "sergiotapia, mrkibbles, matumbo"
    /// </summary>
    public string Username { get; set; }

    /// <summary>
    /// A User's name. eg: "Sergio Tapia, John Cosack, Lucy McMillan"
    /// </summary>
    public string Name { get; set; }

    /// <summary>
    /// A User's location. eh: "Bolivia, USA, France, Italy"
    /// </summary>
    public string Location { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# serialization json poco json.net

60
推荐指数
5
解决办法
29万
查看次数

$ .post和$ .ajax之间的区别?

好奇,如果有人知道数据参数的差异.

我有一个$.post方法,它采取$('#myform').serialize()我的数据参数和工作.

如果我使用该$.ajax()方法尝试相同,它不起作用,因为我的数据参数看起来不正确.

有谁知道差异和我可能会使用什么而不是上述.serialize

javascript ajax asp.net-mvc jquery serialization

60
推荐指数
4
解决办法
6万
查看次数