【问题标题】:Format JSON data in .NET在 .NET 中格式化 JSON 数据
【发布时间】:2012-01-18 00:07:58
【问题描述】:

我需要像data: { MyClass0: {somedata}, MyClass1: {somedata} } 这样格式的 JSON 数据。

但我正在获取data: { MyClass: {somedata}, MyClass: {somedata} } 格式的数据。

MyClass 是我在其中创建了一些属性的类。

这是我的类文件:

public class data {
    data(MyClass _myClass) {
        subData = _myClass;
    }
    public MyClass subData { get; set; }
}

public class MyClass {
    public value { get; set; }
}

这是我的网络方法

foreach(var d in rows) {
    list.add(new data(new MyClass(d)));
}

return new data {
    subData = list
};

【问题讨论】:

  • 你现在用什么?你试过什么? StringBuilder? 怎么样
  • 我有两个类(数据,MyClass),在数据类中我创建了一个 List 类型的属性。
  • a List<MyClass> 通常会在 JSON 中表示为对象数组

标签: asp.net .net json c#-4.0


【解决方案1】:

您提供的示例都不是有效的 JSON。有效的例子是

// MyClass0 and MyClass1 each an object value
{ "data" : { "MyClass0" : {}, "MyClass1" : {} } }

// MyClass' value is an array of objects
{ "data" : { "MyClass" : [{}, {}] } }

JSON specification 规定应该有键/值对,并且键应该用双引号括起来(此外,字符串值也必须如此)。

您是如何生成 JSON 字符串的?三个比较流行的选项是

  1. JavaScriptSerializer
  2. DataContractJsonSerializer
  3. JSON.NET

【讨论】:

  • 我有数据类型的webmethod,并在ajax调用中转换为json对象。
  • 公开类数据{ public List MyClass { get;放; } }
  • @AnkitAgrawal 您可以编辑问题以添加相关代码。我希望该类结构能够生成与我的第二个示例匹配的 JSON。然后就是一个简单的遍历数组来获取对象的例子。
猜你喜欢
  • 2015-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-16
  • 1970-01-01
  • 1970-01-01
  • 2018-06-30
相关资源
最近更新 更多