我想在C# asp.net mVC3中解析JSON字符串,但不知道如何解析json字符串。我的JSON字符串是这样的:
{"dept":"HR","data":[{"height":5.5,"weight":55.5},{"height":5.4,"weight":59.5},{"height":5.3,"weight":67.7},{"height":5.1,"weight":45.5}]}代码:
var allData = { dept: deptname, data: arr};
var allDataJson = JSON.stringify(allData);
$.ajax({
url: '<%=Url.Action("funx","Controller")%>',
data: { DJson: allDataJson },
async: false,
cache: false,
type: 'POST',
success: function (data) {
alert("success data: "+data);
}
});
public String funx(string DJson)
{
System.Diagnostics.Debug.WriteLine("Returned Json String:" + DJson);
// var yourObject = new JavaScriptSerializer().Deserialize(DJson);
return "successfull";
}我是asp.net的新手。我想解析该字符串并将其保存在数据库中。
发布于 2015-08-20 06:42:55
首先,为json创建一个模型。
public class Size
{
public double height { get; set; }
public double weight { get; set; }
}
public class MyData
{
public string dept { get; set; }
public List<Size> data { get; set; }
}现在您可以反序列化您的json。内置DataContractJsonSerializer
var serializer = new DataContractJsonSerializer(typeof(MyData));
var data = (MyData)serializer.ReadObject(new MemoryStream(Encoding.UTF8.GetBytes(json)));或使用Json.Net
var data = JsonConvert.DeserializeObject<MyData>(json);您甚至可以使用dynamic方式,而无需创建任何类。
dynamic dynObj = JsonConvert.DeserializeObject(json);
foreach(var item in dynObj.data)
{
Console.WriteLine("{0} {1}", item.height, item.weight);
}https://stackoverflow.com/questions/32111018
复制相似问题