Tôi nhận được chuỗi JSON trong hành động điều khiển MVC4/.NET4 WebApi. Tham số của hành động là dynamic
vì tôi không biết bất cứ điều gì ở đầu nhận về đối tượng JSON mà tôi nhận được.JContainer động (JSON.NET) & Lặp lại các thuộc tính trong thời gian chạy
public dynamic Post(dynamic myobject)
JSON được phân tích cú pháp tự động và đối tượng dynamic
kết quả là Newtonsoft.Json.Linq.JContainer
. Tôi có thể, như mong đợi, đánh giá các thuộc tính trong thời gian chạy, vì vậy nếu JSON chứa một cái gì đó như myobject.myproperty thì bây giờ tôi có thể lấy đối tượng động nhận được và gọi myobject.myproperty
trong mã C#. Càng xa càng tốt.
Bây giờ tôi muốn lặp qua tất cả các thuộc tính được cung cấp như một phần của JSON, bao gồm các thuộc tính lồng nhau. Tuy nhiên, nếu tôi làm myobject.GetType().GetProperties()
, nó chỉ trả về các thuộc tính của Newtonsoft.Json.Linq.JContainer
thay vì các thuộc tính mà tôi đang tìm kiếm (là một phần của JSON).
Bất kỳ ý tưởng nào về cách thực hiện việc này?
[này] (http://code.msdn.microsoft .com/Supporting-different-data-b0351c9a) bài viết có thể giúp bạn, kiểm tra những gì anh ta đang làm trong phương thức 'DeserializeRequest'. –