首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在asp.net MVC 3中解析JSON输出

在asp.net MVC 3中解析JSON输出
EN

Stack Overflow用户
提问于 2015-08-20 06:30:30
回答 3查看 2.2K关注 0票数 0

我想在C# asp.net mVC3中解析JSON字符串,但不知道如何解析json字符串。我的JSON字符串是这样的:

代码语言:javascript
复制
{"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}]}

代码:

代码语言:javascript
复制
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的新手。我想解析该字符串并将其保存在数据库中。

EN

Stack Overflow用户

回答已采纳

发布于 2015-08-20 06:42:55

首先,为json创建一个模型。

代码语言:javascript
复制
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

代码语言:javascript
复制
var serializer = new DataContractJsonSerializer(typeof(MyData));
var data = (MyData)serializer.ReadObject(new MemoryStream(Encoding.UTF8.GetBytes(json)));

或使用Json.Net

代码语言:javascript
复制
var data = JsonConvert.DeserializeObject<MyData>(json);

您甚至可以使用dynamic方式,而无需创建任何类。

代码语言:javascript
复制
dynamic dynObj = JsonConvert.DeserializeObject(json);

foreach(var item in dynObj.data)
{
    Console.WriteLine("{0} {1}", item.height, item.weight);
}
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32111018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档