2017-02-05 122 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); 

問候

相關問題