我有一个需要解析的JSON,我将其解析如下:
JObject json = JObject.Parse(jsonProfile);
JSON的格式为:
[{ "Id": "mahesh", "GeneralInfo": { "FirstName": "sharma", "LastName": "kanth", "PreferredFirstName": "Akash", "Title": "Designer", "InformalTitle": "Designer", "Gender": "", "Discipline": "", "Department": "Strategy", "BusinessUnit": "", "BrandFunction": "", "ParentAgency": "Public", "Agency": "fish", "AgencyImagePath": "", "Hub": "Public", "SubRegion": "America", "Region": "Americas", "Continent": "North America", "Country": "United States", "State": "Oregon", "Location": "Portland", "Email": "sharma@gmail.com", "SkypeName": "", "Phone": "" }}]
运行此命令时,出现以下错误:
{"Error reading JObject from JsonReader. Current JsonReader item is not an object: StartArray. Path '', line 1, position 1."}
如何处理“ [”括号?
答案 0 :(得分:0)
如果您知道json,则可以直接用DeserializeObject解析json:
var root = JsonConvert.DeserializeObject<List<RootObject>>(json);
Console.WriteLine(root[0].GeneralInfo.Email);
输出
sharma@gmail.com
类(由json2csharp生成,但是vs也可以做到)
public class GeneralInfo
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string PreferredFirstName { get; set; }
public string Title { get; set; }
public string InformalTitle { get; set; }
public string Gender { get; set; }
public string Discipline { get; set; }
public string Department { get; set; }
public string BusinessUnit { get; set; }
public string BrandFunction { get; set; }
public string ParentAgency { get; set; }
public string Agency { get; set; }
public string AgencyImagePath { get; set; }
public string Hub { get; set; }
public string SubRegion { get; set; }
public string Region { get; set; }
public string Continent { get; set; }
public string Country { get; set; }
public string State { get; set; }
public string Location { get; set; }
public string Email { get; set; }
public string SkypeName { get; set; }
public string Phone { get; set; }
}
public class RootObject
{
public string Id { get; set; }
public GeneralInfo GeneralInfo { get; set; }
}