相关疑难解决方法(0)

如何将NameValueCollection转换为JSON字符串?

我试过了:

  NameValueCollection Data = new NameValueCollection();
  Data.Add("foo","baa");
  string json = new JavaScriptSerializer().Serialize(Data);
Run Code Online (Sandbox Code Playgroud)

它返回:["foo"]我期望{"foo" : "baa"} 我该怎么做?

.net c# asp.net json namevaluecollection

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

如何使用Json.Net序列化/反序列化具有其他属性的自定义集合

我有一个自定义集合(实现IList),它有一些自定义属性,如下所示:

class FooCollection : IList<Foo> {

    private List<Foo> _foos = new List<Foo>();
    public string Bar { get; set; }        

    //Implement IList, ICollection and IEnumerable members...

}
Run Code Online (Sandbox Code Playgroud)

当我序列化时,我使用以下代码:

JsonSerializerSettings jss = new JsonSerializerSettings() {
    TypeNameHandling = TypeNameHandling.Auto
};
string serializedCollection = JsonConvert.SerializeObject( value , jss );
Run Code Online (Sandbox Code Playgroud)

它正确地序列化和反序列化所有收集项目; 但是,FooCollection不考虑课堂上的任何额外属性.

无论如何将它们包含在序列化中?

.net c# serialization json json.net

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

使用Json.Net序列化NameValueCollection的自定义子类

我有以下类我尝试序列化到Json失败了.

class HL7 : NameValueCollection
{
  public List<HL7> Children { get; set; }
  public HL7()
  {
    Children = new List<HL7>();
  }
}
Run Code Online (Sandbox Code Playgroud)

我已经创建了这样的对象并向其添加了数据:

HL7 hl7 = new HL7();
hl7.Add("a", "123");
hl7.Add("b", "456");
hl7.Children.Add(new HL7());
hl7.Children[0].Add("c", "123");
hl7.Children[0].Add("d", "456");
Run Code Online (Sandbox Code Playgroud)

我打电话的时候

JsonConvert.SerializeObject(hl7)
Run Code Online (Sandbox Code Playgroud)

我收到

["a","b"]
Run Code Online (Sandbox Code Playgroud)

我期待以下内容:

{
  "a": "123",
  "b": "456",
  "Children": [
    {
      "c": "123",
      "d": "456",
    }
  ]
} 
Run Code Online (Sandbox Code Playgroud)

json.net

8
推荐指数
1
解决办法
3872
查看次数

标签 统计

.net ×2

c# ×2

json ×2

json.net ×2

asp.net ×1

namevaluecollection ×1

serialization ×1