【问题标题】:Quick and Easy Deserialization and To Text JSON快速简单的反序列化和文本 JSON
【发布时间】:2016-06-06 07:09:45
【问题描述】:

所以我有一个大的 JSON 文件,其中包含如下所示的列表和内容:link

我还使用 json2csharp.com 设计了必要的类。

我的问题是,我需要将整个数据输出到textBox。我只需要这些数据的文本表示。

我显然可以调用每个成员,遍历所有列表并管理他们的文本表示,但是有没有一种快速而肮脏的方式来输出字符串?我正在使用 JSON.net。

谢谢。

编辑:我知道如何使用此处给出的 .net 对象来做到这一点:
www.newtonsoft.com/json/help/html/serializingjson.htm

我一直在寻找一种一次性的方法。

【问题讨论】:

  • 我知道如何调用所有类等等。我正在寻找一种小型的 1 次拍摄方式。
  • 序列化什么?如果你有一些主对象有一个Neighbour 列表和一个Link 列表,那么它们也会被自动序列化。
  • 听起来你有一个文本文件,你想在文本框中显示内容,是吗?
  • 不,我认为 OP 是在询问如何序列化对象图。

标签: c# json


【解决方案1】:

只要拥有正确的数据结构,就可以序列化对象图。例如,您可以看到Bar 对象是如何创建为对象数组的:

public class Foo {

    private List<Bar> names;
    private string name;

    public Foo() {
        this.name = "Name";
        this.names = new List<Bar>() {
            new Bar("a"),
            new Bar("b"),
            new Bar("c")
        };
    }

    public string Name {
        get {
            return this.name;
        }
    }

    public List<Bar> Names {
        get {
            return this.names;
        }
    }
}

public class Bar {
    public Bar(string name) {
        this.Name = name;
    }

    public string Name {
        get;
        private set;
    }
}

var o = new Foo();
Debug.WriteLine(JsonConvert.SerializeObject(o));

【讨论】:

  • 这就是我的意思,有没有一种一次性的、自动化的方法来做到这一点?还是根本没有?
  • 什么意思?如果你序列化FooBar也会被序列化。你还想要什么?
  • 纳达,我的错。感谢您的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-26
  • 2015-05-18
  • 1970-01-01
  • 1970-01-01
  • 2021-05-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多