如何在c#控制器中解析json字符串
public ActionResult GetAjaxSession(string search)
{
...
}
包含json字符串的变量:
search
Json字符串:
{"id_employe":"35"},{"id_employe":"80"},{"id_employe":"136"},{"id_employe":"140"}]
我想从字符串中获取所有id_employe
答案 0 :(得分:2)
但是,解析是从字符串中获取正确数据的正确方法。 使用Newtonsoft.Json的示例:
var objects = JsonConvert.DeserializeObject<List<MyObj>>(jsonText);
与课程:
public class MyObj
{
public string id_employe { get; set; }
}
答案 1 :(得分:0)
Malior 的方法非常好,它是一种类型化的方法。我想提到另一种方式,使用 Linq 和动态:
var jsonText="[{\"id_employe\":\"35\"},{\"id_employe\":\"80\"},"
+"{\"id_employe\":\"136\"},{\"id_employe\":\"140\"}]";
var objects = JsonConvert.DeserializeObject<List<dynamic>>(jsonText);
var values = objects.Select(s=>s.id_employe).ToList();
这将创建一个列表,因此 values
包含以下元素:
35,80,136,140
因为它是动态的,所以不需要声明额外的类。
请注意,如果 JSON 字符串有任何问题(例如缺少 JsonReaderException
等),两种方法都会抛出 [
。如果没有找到属性名称,它会抛出一个 RuntimeBinderException
- 所以你应该使用一个 try ... catch
块。