2017-02-05 40 views
-1

我是菜鸟,这是我的第一篇文章,这里说的是我的问题。JSON到控制台应用程序,如何将它读入C#?

我正在做一个测试,其中我有一堆信息,关于人员,公司的信息,仅举几例,然后在每个这些“标题”中都有信息。

我不知道(尽管花了一天的时间试图在网上阅读类似的问题,不明白)如何将文档读入C#控制台应用程序,然后将其临时存储(无需持续),以便我可以使用它? (也许我不应该使用控制台应用程序,但这正是我现在正在使用的)。

我已经把下面的信息,不知道如何在这里附上一个文件。

Persons = [{ 
"Name": "Anna", 
"PersonalIdNumber": "720220-1111", 
"Id": "13cf4bc2-92a3-4700-b697-fc9fbffe7143" 
}, 
{ 
"Name": "Bertil", 
"PersonalIdNumber": "820923-2222", 
"Id": "048f4ad0-a6fd-4119-b965-56113ac516de" 
}, 
{ 
"Name": "Cecilia", 
"PersonalIdNumber": "620405-3333", 
"Id": "107f7ab5-a613-4e10-8538-bc4eb0e75ebc" 
}, 
... 
}] 
+1

目前还不清楚你在问什么。开始的文件在哪里?它在一个文件中?你问如何读取文件,或者如何解析JSON?你有没有尝试过使用Json.NET? –

+2

我假设每一个使用JSON和C#工作的搜索都会提供一个链接到Newtonsoft的JSON库,这是用来处理JSON的最常用的方法。 –

+0

嗨,这个信息现在在一个文件中,记事本里。在文件中,首先是关于人的信息,然后在同一个文件中有关于公司的信息。 我可以下载nuget newtonsoft json,但后来我不知道该怎么办。 感谢您的帮助。 – Johan

回答

0

可以使用Newtonsoft.JSON库,在项目中安装了package,与NuGet包管理器

按照它的主页:

using Newtonsoft.JSON; 
... 
string json = @" 
[{ 
    'Name': 'Anna', 
    'PersonalIdNumber': '720220-1111', 
    'Id': '13cf4bc2-92a3-4700-b697-fc9fbffe7143' 
}, 
{ 
     'Name': 'Bertil', 
     'PersonalIdNumber': '820923-2222', 
     'Id': '048f4ad0-a6fd-4119-b965-56113ac516de' 
}]"; 

List<Person> Persons = JsonConvert.DeserializeObject<List<Person>>(json); 

更新:你可以咨询更多比100个例子here

显然你必须要de clare一个匹配你的JSON对象的类,这样你就可以将这个c#类的实例序列化并反序列化为JSON。

public class Person 
{ 
    public string Name { get; set; } 
    ... 
} 
+0

Okey,安装了NuGet,然后我不知道下一步该怎么做。 – Johan

+0

我已经声明了类,但是我不知道该怎么做。我已阅读其他示例,观看了YouTube剪辑,但我仍然不明白。 公司类看起来像这样的情况下(不知道如何得到它看起来像代码,而不是运行文本): 类公司 { 上市公司(字符串公司名称,诠释organizationNumber) { 公司名称=的companyName; OrganizationNumber = organizationNumber; } private string CompanyName {get;组; } private int OrganizationNumber {get;组; } – Johan

-1

这就是我以后的样子。

static List<Person> persons = new List<Person>(); 
var jsonTextPersons = File.ReadAllText(@"C:\Filepathblablalba\Persons.txt"); 
persons = JsonConvert.DeserializeObject<List<Person>>(jsonTextPersons); 

问候

相关问题