Tôi đang sử dụng api web .net để lấy json và đưa nó về giao diện người dùng cho góc cạnh. Các json có thể là một đối tượng hoặc một mảng. Mã của tôi hiện chỉ hoạt động đối với mảng chứ không phải đối tượng. Tôi cần phải tìm một cách để thử nghiệm hoặc xác định xem các nội dung là một đối tượng hoặc mảng.Xác định xem kết quả Json có phải là đối tượng hay mảng
Đây là mã của tôi
public HttpResponseMessage Get(string id)
{
string singleFilePath = String.Format("{0}/../Data/phones/{1}.json", AssemblyDirectory, id);
List<Phone> phones = new List<Phone>();
Phone phone = new Phone();
JsonSerializer serailizer = new JsonSerializer();
using (StreamReader json = File.OpenText(singleFilePath))
{
using (JsonTextReader reader = new JsonTextReader(json))
{
//if array do this
phones = serailizer.Deserialize<List<Phone>>(reader);
//if object do this
phone = serailizer.Deserialize<Phone>(reader);
}
}
HttpResponseMessage response = Request.CreateResponse<List<Phone>>(HttpStatusCode.OK, phones);
return response;
}
Các trên có thể không cách tốt nhất để làm điều này. Chỉ là nơi tôi đang ở.
bạn chỉ có thể kiểm tra charcter đầu tiên, isArray = content [0] == '[' –
@ johnny5 Phân tích cú pháp thủ công khi có một lib tốt có sẵn nói chung không phải là một ý tưởng hay. Trường hợp tại điểm, bạn quên kiểm tra khoảng trắng :) '" [] "' là một mảng json hợp lệ. – dcastro
đó là lý do tại sao tôi không đăng nó như là một câu trả lời, bởi vì nó là một hack nhưng nó đáng chú ý. –