【发布时间】:2016-03-08 00:12:19
【问题描述】:
我有一个使用 jQuery 向服务器发送 ajax 请求的页面。 ajax请求将POSTjson字符串发送到服务器。
在服务器端,我需要能够将 json 字符串转换为 c# 对象。
有一次,我将 json 字符串转换为我需要能够循环遍历它并更改数据的对象。
这是我的 json 字符串
{'123':{'name': 'VALUE','campaign_id': 'VALUE 2'} }
这是我尝试将其转换为对象,然后循环遍历它的方式。
try
{
string json = Request["data"];
dynamic records = JsonConvert.DeserializeObject(json);
string longname = "";
foreach (var record in records)
{
longname += record.name.ToString();
}
return longname;
} catch(Exception e)
{
return e.ToString();
}
但这给了我这个错误
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: “Newtonsoft.Json.Linq.JProperty”不包含定义 'name' at CallSite.Target(Closure , CallSite , Object ) at myController
我该如何解决这个问题?
【问题讨论】:
-
为什么不直接绑定到模型(所有这些都由 MVC 开箱即用地处理)?您需要显示控制器方法的签名、您尝试绑定的模型和 ajax 代码。
-
我该怎么做? json 字符串将有一个记录列表
-
重复一遍 - 您需要显示控制器方法的签名、您尝试绑定的模型和 ajax 代码
-
我实际上需要它是动态的,因为我需要更改数据。如何从记录对象访问属性?
-
您当前的示例不需要动态。你为什么把jQuery放在标题里?
标签: c# asp.net json asp.net-mvc