我需要有关解析文本文件数据并将其存储为JSON对象的最佳方法的建议。我的文本文件如下所示:
address,street,202
address,locality,Texas
address,landmark,mount_circle
student,info,name,Tom
student,info,id,1
student,info,name,Harry
student,info,id,2
student,info,name,John
student,info,id,3
student,info,name,Don
student,info,id,4
student,info,name,Brad
student,info,id,5
student,area,Texas
exam,marks,subject,socialScience,History,50
exam,marks,subject,socialScience,Geo,25
exam,marks,subject,socialScience,PoliticalScience,40
exam,marks,subject,English,45
exam,marks,percentage,80
exam,venue,country,name,USA
exam,venue,country,name,Cannada
exam,venue,country,name,Mexico
预期的JSON输出:
{
"address": {
"street": "202",
"locality": "Texas",
"landmark": "mount_circle"
},
"student": {
"info": [{
"name": "Tom",
"id": "1"
},
{
"name": "Harry",
"id": "2"
},
{
"name": "John",
"id": "3"
},
{
"name": "Don",
"id": "4"
},
{
"name": "Brad",
"id": "5"
}
],
"area": "Texas"
},
"exam": {
"marks": {
"subject": {
"socialScience": {
"History": "50",
"Geo": "25",
"PoliticalScience": "40"
},
"English": "45"
},
"percentage": "80"
},
"venue": {
"country": [{
"name": "USA"
},
{
"name": "Cannada"
},
{
"name": "Mexico"
}
]
}
}
}
注意:以上文字可能更复杂。
我试图使用“ Newtonsoft.Json.Linq” NuGet包在C#中解析此文本文件。因此,如果有人可以在这里为我提供帮助,如何继续使用通用方法,这样我就不必编写任何蛮力方法来解析此文本文件,因为文本可以扩展得很大,而上面显示的文本将显示为样本仅供参考。
您的输入文件不是json。因此,您可能只使用string.split来获取每一行的值数组然后,您可以创建一些C#类来表示每个不同的对象。看起来您可以使用每行中的第一个值来确定对象类型。然后,您可以使用json.net的序列化对象方法来获取所需的json。