如何在C#中解析JSON字符串

时间:2019-01-08 16:07:11

标签: c# json ajax parsing

如何在c#控制器中解析json字符串

public ActionResult GetAjaxSession(string search)
{
...
}

包含json字符串的变量:

search

Json字符串:

{"id_employe":"35"},{"id_employe":"80"},{"id_employe":"136"},{"id_employe":"140"}]

我想从字符串中获取所有id_employe

2 个答案:

答案 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();

Fiddle

这将创建一个列表,因此 values 包含以下元素:

<块引用>

35,80,136,140

因为它是动态的,所以不需要声明额外的类。

请注意,如果 JSON 字符串有任何问题(例如缺少 JsonReaderException 等),两种方法都会抛出 [。如果没有找到属性名称,它会抛出一个 RuntimeBinderException - 所以你应该使用一个 try ... catch 块。