我一直在爲我的個人使用編寫一個Minecraft發射器(source)。我已經到了需要解析包含官方啓動程序已經提供的所有可用「配置文件」的JSON文件的地步。它看起來像這樣:使用C#獲取JSON.NET中的屬性名稱
{
"profiles": {
"1.6.2": {
"name": "1.6.2",
"gameDir": "C:\\Users\\Ilan\\AppData\\Roaming\\.ilan\\1.6.2mc",
"lastVersionId": "1.6.2",
"allowedReleaseTypes": [
"snapshot",
"release"
],
"playerUUID": "e2f423057b72487eb6f7f8ce877a8015"
},
"1.6.1": {
"name": "1.6.1",
"gameDir": "C:\\Users\\Ilan\\AppData\\Roaming\\.ilan\\1.6.1",
"lastVersionId": "1.6.1"
},
"13w38c": {
"name": "13w38c",
"lastVersionId": "13w38c",
"javaArgs": "-Xmx1G",
"allowedReleaseTypes": [
"snapshot",
"release"
],
"playerUUID": "e2f423057b72487eb6f7f8ce877a8015",
"useHopperCrashService": false
},
正如你可以看到,有一個名爲「配置文件」的對象,並在其中有變量名的屬性。我想獲取這些屬性的名稱,而不是它們的值。我不知道該怎麼做,我嘗試了Value
或只是簡介.ToString()
,但這兩個結果都給了我屬性本身的內容,而不是它的名字。有沒有辦法得到名字?
編輯:它解析配置文件JSON代碼:
string profileJSON = File.ReadAllText(Variables.profileJSONFile);
JObject profiles = JObject.Parse(profileJSON);
MessageBox.Show(profiles["profiles"].ToString());
foreach (JProperty profileAvail in profiles["profiles"])
{
MessageBox.Show(profileAvail.ToString());
}
哦,對了。現在添加它.. – Ilan321
你試過'profileAvail.Name'嗎? – wdosanjos
...有效.. – Ilan321