标签: serialization

如何在没有格式化的情况下序列化JObject?

我有一个JObject(我使用的是Json.Net),我使用LINQ to JSON构建(也由同一个库提供).当我调用ToString()方法时JObject,它将结果输出为格式化的JSON.

如何为此设置格式为"无"?

serialization json json.net

81
推荐指数
3
解决办法
9万
查看次数

首先关闭EF代码的CTP5的ProxyCreationEnabled有什么缺点

我的WCF服务可以从代码的第一个模型回归类的唯一方法是通过设置ProxyCreationEnablefalse使用下面的代码.

((IObjectContextAdapter)MyDb).ObjectContext.ContextOptions.ProxyCreationEnable = false;
Run Code Online (Sandbox Code Playgroud)

这样做的负面后果是什么?一个好处是我至少可以将这些动态类型序列化,以便可以使用WCF通过线路发送它们.

c# wcf serialization entity-framework proxy-classes

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

杰克逊databind enum不区分大小写

如何反序列化包含不区分大小写的枚举值的JSON字符串?(使用Jackson Databind)

JSON字符串:

[{"url": "foo", "type": "json"}]
Run Code Online (Sandbox Code Playgroud)

和我的Java POJO:

public static class Endpoint {

    public enum DataType {
        JSON, HTML
    }

    public String url;
    public DataType type;

    public Endpoint() {

    }

}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,反序列化JSON "type":"json"将失败,因为它"type":"JSON"可以工作.但我想"json"以命名惯例为理由.

序列化POJO也会导致大写 "type":"JSON"

我想过使用@JsonCreator和@JsonGetter:

    @JsonCreator
    private Endpoint(@JsonProperty("name") String url, @JsonProperty("type") String type) {
        this.url = url;
        this.type = DataType.valueOf(type.toUpperCase());
    }

    //....
    @JsonGetter
    private String getType() {
        return type.name().toLowerCase();
    }
Run Code Online (Sandbox Code Playgroud)

它奏效了.但我想知道是否有更好的解决方案,因为这看起来像是对我的黑客攻击.

我也可以编写一个自定义反序列化器,但是我有很多不同的POJO使用枚举,而且很难维护.

任何人都可以建议一个更好的方法来使用适当的命名约定序列化和反序列化枚举?

我不希望我在java中的枚举是小写的!

这是我使用的一些测试代码:

    String data = "[{\"url\":\"foo\", \"type\":\"json\"}]";
    Endpoint[] …
Run Code Online (Sandbox Code Playgroud)

java enums serialization json jackson

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

如何在C++中序列化对象?

我有一个小的对象层次结构,我需要通过套接字连接进行序列化和传输.我需要序列化对象,然后根据它的类型反序列化它.有没有一种简单的方法在C++中实现这一点(就像在Java中一样)?

是否有任何C++序列化在线代码示例或教程?

编辑:为了清楚,我正在寻找将对象转换为字节数组,然后返回到对象的方法.我可以处理插座传输.

c++ serialization c++-faq marshalling

79
推荐指数
3
解决办法
7万
查看次数

接口属性的XML序列化

我想XML序列化一个对象,该对象具有(以及其他)IModelObject类型的属性(这是一个接口).

public class Example
{
    public IModelObject Model { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试序列化此类的对象时,我收到以下错误:
"无法序列化示例类型的Example.Model,因为它是一个接口."

我知道问题是接口无法序列化.但是,具体的Model对象类型在运行时才会被识别.

用抽象或具体类型替换IModelObject接口并使用XMLInclude继承是可能的,但似乎是一个丑陋的解决方法.

有什么建议?

.net c# serialization

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

WCF反序列化如何在不调用构造函数的情况下实例化对象?

WCF反序列化有一些神奇之处.如何在不调用其构造函数的情况下实例化数据协定类型的实例?

例如,考虑这个数据合同:

[DataContract]
public sealed class CreateMe
{
   [DataMember] private readonly string _name;
   [DataMember] private readonly int _age;
   private readonly bool _wasConstructorCalled;

   public CreateMe()
   {
      _wasConstructorCalled = true;
   }

   // ... other members here
}
Run Code Online (Sandbox Code Playgroud)

通过DataContractSerializer您获取此对象的实例时,您将看到该字段_wasConstructorCalledfalse.

那么,WCF如何做到这一点?这是其他人可以使用的技术,还是隐藏在我们之外?

.net c# reflection wcf serialization

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

在.NET JSON序列化期间忽略字段; 类似于[XmlIgnore]?

我有一个POCO类,它作为.NET 3.5 sp1中的JSON字符串发送到浏览器.我只是使用默认的JSON序列化,我有一些我想忽略的字段.我想在它们上面添加类似于[System.Xml.Serialization.XmlIgnore]的属性,以便它们不被序列化.

.net c# asp.net-mvc serialization json

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

如何在jQuery中修改序列化表单数据?

我试图在AJAX中提交我的表单,所以我必须序列化()数据.但我正在使用fckEditor和jQuery不知道如何处理它,所以序列化后,我试图手动修改值,但到目前为止没有运气...任何想法

if(content_val!=""){
    var values = $("#frmblog").serialize();
    values.content = content_val; //content_val is the manually fetched data which I am trying to insert into the serialized content.
    alert(content_val); alert(values);
}
Run Code Online (Sandbox Code Playgroud)

jquery serialization fckeditor

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

将对象转换为XML字符串

我有一个名为WebserviceType我从XSD文件中的工具xsd.exe 获得的类.

现在我想将WebServiceType对象的实例反序列化为字符串.我怎样才能做到这一点?

MethodCheckType对象具有params WebServiceType数组.

我的第一次尝试就像我序列化了一样:a XmlSerializer和a StringWriter(序列化我使用了a StringReader).

这是我序列化WebServiceType对象的方法:

XmlSerializer serializer = new XmlSerializer(typeof(MethodCheckType));
        MethodCheckType output = null;
        StringReader reader = null;

        // catch global exception, logg it and throw it
        try
        {
            reader = new StringReader(path);
            output = (MethodCheckType)serializer.Deserialize(reader);
        }
        catch (Exception)
        {
            throw;
        }
        finally
        {
            reader.Dispose();
        }

        return output.WebService;
Run Code Online (Sandbox Code Playgroud)

编辑:

也许我可以用不同的语言说:我有一个这个MethodCheckType对象的实例另一方面我有一个XML文档,我从中序列化了这个对象.现在我想以字符串的形式将此实例转换为XML文档.在此之后,我必须证明两个字符串(XML文档)是否相同.我必须这样做,因为我对第一种方法进行单元测试,在该方法中我将XML文档读入StringReader并将其序列化为MethodCheckType对象.

c# xml serialization

78
推荐指数
3
解决办法
18万
查看次数

无法将JSON数组(例如[1,2,3])反序列化为类型''因为类型需要JSON对象(例如{"name":"value"})才能正确反序列化

我有这个JSON:

[
    {
        "Attributes": [
            {
                "Key": "Name",
                "Value": {
                    "Value": "Acc 1",
                    "Values": [
                        "Acc 1"
                    ]
                }
            },
            {
                "Key": "Id",
                "Value": {
                    "Value": "1",
                    "Values": [
                        "1"
                    ]
                }
            }
        ],
        "Name": "account",
        "Id": "1"
    },
    {
        "Attributes": [
            {
                "Key": "Name",
                "Value": {
                    "Value": "Acc 2",
                    "Values": [
                        "Acc 2"
                    ]
                }
            },
            {
                "Key": "Id",
                "Value": {
                    "Value": "2",
                    "Values": [
                        "2"
                    ]
                }
            }
        ],
        "Name": "account",
        "Id": "2"
    },
    {
        "Attributes": [
            { …
Run Code Online (Sandbox Code Playgroud)

c# arrays serialization json

78
推荐指数
3
解决办法
15万
查看次数