Ваш JSON недействителен.Нам нужно это исправить. JSONLint может быть полезным для этого.Я взял ваш JSON и исправил синтаксические ошибки, пока не получил следующее:
{
"userId": 321,
"account": "new",
"fname": "Adam",
"lname": "Silver",
"features":[
{
"available": true,
"status": "open",
"admin": false
}
]
}
Затем мне нужно сгенерировать структуру класса C # для представления этого JSON.Я мог бы создать его вручную, но отличный json2csharp.com может быстро сгенерировать его для меня.Я передал этот JSON и получил следующие классы обратно:
public class Feature
{
public bool available { get; set; }
public string status { get; set; }
public bool admin { get; set; }
}
public class RootObject
{
public int userId { get; set; }
public string account { get; set; }
public string fname { get; set; }
public string lname { get; set; }
public List<Feature> features { get; set; }
}
Я поместил эти определения классов в свое приложение.Затем мне нужно изменить метод действия, чтобы создать экземпляр этого класса RootObject (вы должны изменить имя, чтобы оно действительно соответствовало тому, для чего оно предназначено).
[HttpGet]
public ActionResult<RootObject> Get()
{
// Create an instance of our RootObject and set the properties
var myRootObject = new RootObject();
myRootObject.userId = 321;
myRootObject.account = "new";
myRootObject.fname = "Adam";
myRootObject.lname = "Silver";
myRootObject.features = new List<Feature>();
// Create an instance of a feature and set its properties
var feature = new Feature();
feature.available = true;
feature.status = "open";
feature.admin = false;
// Add the new feature to the features collection of our RootObject
myRootObject.features.Add(feature);
// Return the instance of our RootObject
// The framework will handle serializing it to JSON for us
return myRootObject;
}
Обратите внимание, что я изменил сигнатуру вашего метода.Я сделал так, чтобы он больше не принимал IEnumerable, потому что не было понятно, почему у вас это было.И я изменил его, чтобы он возвращал ActionResult после проверки документации Microsoft .