标签: serialization

如何反序列化XML文档

如何反序列化此XML文档:

<?xml version="1.0" encoding="utf-8"?>
<Cars>
  <Car>
    <StockNumber>1020</StockNumber>
    <Make>Nissan</Make>
    <Model>Sentra</Model>
  </Car>
  <Car>
    <StockNumber>1010</StockNumber>
    <Make>Toyota</Make>
    <Model>Corolla</Model>
  </Car>
  <Car>
    <StockNumber>1111</StockNumber>
    <Make>Honda</Make>
    <Model>Accord</Model>
  </Car>
</Cars>
Run Code Online (Sandbox Code Playgroud)

我有这个:

[Serializable()]
public class Car
{
    [System.Xml.Serialization.XmlElementAttribute("StockNumber")]
    public string StockNumber{ get; set; }

    [System.Xml.Serialization.XmlElementAttribute("Make")]
    public string Make{ get; set; }

    [System.Xml.Serialization.XmlElementAttribute("Model")]
    public string Model{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

.

[System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
public class Cars
{
    [XmlArrayItem(typeof(Car))]
    public Car[] Car { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

.

public class CarSerializer
{
    public Cars Deserialize()
    {
        Cars[] …
Run Code Online (Sandbox Code Playgroud)

c# xml asp.net serialization xml-deserialization

453
推荐指数
12
解决办法
64万
查看次数

在使用Json.net进行序列化时如何更改属性名称?

我在C#DataSet对象中有一些数据.我现在可以使用像这样的Json.net转换器来序列化它

DataSet data = new DataSet();
// do some work here to populate 'data'
string output = JsonConvert.SerializeObject(data);
Run Code Online (Sandbox Code Playgroud)

但是,这会data在打印到.json文件时使用属性名称.我想将属性名称更改为不同的名称(例如,将'foo'更改为'bar').

Json.net文档中,在"序列化和反序列化JSON"→"序列化属性"下,它表示"JsonPropertyAttribute ...允许自定义名称".但没有例子.有谁知道如何使用JsonPropertyAttribute将属性名称更改为其他名称?

(直接链接到文档)

Json.net的文档似乎很少.如果你有一个很好的例子,我会尝试将它添加到官方文档中.谢谢!

c# serialization json.net

415
推荐指数
3
解决办法
28万
查看次数

Gson:如何在没有注释的情况下从序列化中排除特定字段

我正在努力学习Gson,而我正在努力进行场上排斥.这是我的课程

public class Student {    
  private Long                id;
  private String              firstName        = "Philip";
  private String              middleName       = "J.";
  private String              initials         = "P.F";
  private String              lastName         = "Fry";
  private Country             country;
  private Country             countryOfBirth;
}

public class Country {    
  private Long                id;
  private String              name;
  private Object              other;
}
Run Code Online (Sandbox Code Playgroud)

我可以使用GsonBuilder并添加ExclusionStrategy像一个字段名称firstNamecountry,但我似乎无法管理排除像某些领域的性能country.name.

使用该方法public boolean shouldSkipField(FieldAttributes fa),FieldAttributes不包含足够的信息来匹配具有过滤器的字段country.name.

对于这个问题的解决方案,我将不胜感激.

PS:我想避免注释,因为我想对此进行改进并使用RegEx来过滤字段.

谢谢

编辑:我试图看看是否可以模拟Struts2 JSON插件的行为

使用Gson

<interceptor-ref name="json">
  <param name="enableSMD">true</param>
  <param name="excludeProperties">
    login.password, …
Run Code Online (Sandbox Code Playgroud)

java serialization json gson

404
推荐指数
12
解决办法
31万
查看次数

什么是对象序列化?

"对象序列化"是什么意思?你能用一些例子解释一下吗?

java serialization object-serialization

373
推荐指数
8
解决办法
28万
查看次数

XmlSerializer - 反映类型时出错

使用C#.NET 2.0,我有一个复合数据类,它具有该[Serializable]属性.我正在创建一个XMLSerializer类并将其传递给构造函数:

XmlSerializer serializer = new XmlSerializer(typeof(DataClass));
Run Code Online (Sandbox Code Playgroud)

我得到一个例外说:

有一个反映类型的错误.

在数据类内部还有另一个复合对象.这是否还需要具有该[Serializable]属性,或者将其置于顶层对象上,是否以递归方式将其应用于内部的所有对象?

.net c# xml serialization .net-2.0

326
推荐指数
8
解决办法
23万
查看次数

什么是[Serializable]以及何时使用它?

我发现有些类使用该[Serializable]属性.

  • 它是什么?
  • 我应该什么时候使用它?
  • 我会得到什么样的好处?

.net c# serialization

307
推荐指数
6
解决办法
24万
查看次数

了解护照序列化反序列化

您如何解释Passport序列化和反序列化方法的工作流程.

  1. user.id去哪儿passport.serializeUser打电话?

  2. 我们正在呼吁passport.deserializeUser它在哪里适合工作流程?

    // used to serialize the user for the session
    passport.serializeUser(function(user, done) {
        done(null, user.id); 
       // where is this user.id going? Are we supposed to access this anywhere?
    });
    
    // used to deserialize the user
    passport.deserializeUser(function(id, done) {
        User.findById(id, function(err, user) {
            done(err, user);
        });
    });
    
    Run Code Online (Sandbox Code Playgroud)

我仍然试图绕过它.我有一个完整的工作应用程序,并没有遇到任何类型的错误.

我只是想了解这里到底发生了什么?

任何帮助表示赞赏.

authentication serialization node.js express passport.js

300
推荐指数
3
解决办法
10万
查看次数

将对象序列化为字符串

我有以下方法将对象保存到文件:

// Save an object out to the disk
public static void SerializeObject<T>(this T toSerialize, String filename)
{
    XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType());
    TextWriter textWriter = new StreamWriter(filename);

    xmlSerializer.Serialize(textWriter, toSerialize);
    textWriter.Close();
}
Run Code Online (Sandbox Code Playgroud)

我承认我没有写它(我只将其转换为带有类型参数的扩展方法).

现在我需要它将xml作为字符串返回给我(而不是将其保存到文件中).我正在研究它,但我还没想到它.

我认为对于熟悉这些对象的人来说这可能很容易.如果不是,我最终会弄明白.

c# string serialization xml-serialization

294
推荐指数
6
解决办法
36万
查看次数

IntelliJ IDEA生成serialVersionUID

如何在IntelliJ IDEA中生成此值?

我转到设置 - > 错误 - > 序列化问题 - >没有'serialVersionUID'的Serializable类,但它仍然没有显示警告.我的类PKladrBuilding父实现接口Serializable.

部分代码:

public class PKladrBuilding extends PRQObject

public abstract class PRQObject extends PObject

public abstract class PObject implements Serializable
Run Code Online (Sandbox Code Playgroud)

java serialization intellij-idea

287
推荐指数
7
解决办法
21万
查看次数