Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在windows应用商店应用程序中反序列化json对象_C#_Json_Asp.net Mvc 4 - Fatal编程技术网

C# 如何在windows应用商店应用程序中反序列化json对象

C# 如何在windows应用商店应用程序中反序列化json对象,c#,json,asp.net-mvc-4,C#,Json,Asp.net Mvc 4,这是我的WebAPI方法 public class EmployeeController : ApiController { employee[] employee = new employee[] { new employee{Employee_Id=1,Employee_Name="Richa",Employee_Address="Noida",Employee_Contact=12567,Employee_Salary=5000}, new empl

这是我的WebAPI方法

public class EmployeeController : ApiController
{
    employee[] employee = new employee[]
    {
      new employee{Employee_Id=1,Employee_Name="Richa",Employee_Address="Noida",Employee_Contact=12567,Employee_Salary=5000},
      new employee{Employee_Id=2,Employee_Name="Megha",Employee_Address="Delhi",Employee_Contact=98754,Employee_Salary=5435},
      new employee{Employee_Id=3,Employee_Name="Gaurav",Employee_Address="Noida",Employee_Contact=33333,Employee_Salary=4233},
      new employee{Employee_Id=4,Employee_Name="Suyash",Employee_Address="Delhi",Employee_Contact=5555,Employee_Salary=2342},
      new employee{Employee_Id=5,Employee_Name="Manish",Employee_Address="Noida",Employee_Contact=84576,Employee_Salary=4555},
      new employee{Employee_Id=6,Employee_Name="Manish",Employee_Address="Noida",Employee_Contact=84576,Employee_Salary=4555},
      new employee{Employee_Id=7,Employee_Name="Ram",Employee_Address="Delhi",Employee_Contact=6456,Employee_Salary=4555},
      new employee{Employee_Id=8,Employee_Name="Rajesh",Employee_Address="Gaziyabad",Employee_Contact=8865,Employee_Salary=4555},
      new employee{Employee_Id=9,Employee_Name="Deepak",Employee_Address="Hapur",Employee_Contact=34242,Employee_Salary=4555},
      new employee{Employee_Id=10,Employee_Name="Naveen",Employee_Address="Gaziyabad",Employee_Contact=86756,Employee_Salary=4555},
      new employee{Employee_Id=11,Employee_Name="Rakesh",Employee_Address="Noida",Employee_Contact=8564,Employee_Salary=4555}
    };
    public IEnumerable<employee> GetAllEmployee()
    {
        return employee;
    }
公共类EmployeeController:ApicController
{
员工[]员工=新员工[]
{
新员工{employee_Id=1,employee_Name=“Richa”,employee_Address=“Noida”,employee_Contact=12567,employee_Salary=5000},
新员工{employee_Id=2,employee_Name=“Megha”,employee_Address=“德里”,employee_Contact=98754,employee_Salary=5435},
新员工{employee_Id=3,employee_Name=“Gaurav”,employee_Address=“Noida”,employee_Contact=33333,employee_Salary=4233},
新员工{employee_Id=4,employee_Name=“Suyash”,employee_Address=“德里”,employee_Contact=5555,employee_Salary=2342},
新员工{employee_Id=5,employee_Name=“Manish”,employee_Address=“Noida”,employee_Contact=84576,employee_Salary=4555},
新员工{employee_Id=6,employee_Name=“Manish”,employee_Address=“Noida”,employee_Contact=84576,employee_Salary=4555},
新员工{employee_Id=7,employee_Name=“Ram”,employee_Address=“德里”,employee_Contact=6456,employee_Salary=4555},
新员工{employee_Id=8,employee_Name=“Rajesh”,employee_Address=“Gaziyabad”,employee_Contact=8865,employee_Salary=4555},
新员工{employee_Id=9,employee_Name=“Deepak”,employee_Address=“Hapur”,employee_Contact=34242,employee_Salary=4555},
新员工{employee_Id=10,employee_Name=“Naveen”,employee_Address=“Gaziyabad”,employee_Contact=86756,employee_Salary=4555},
新员工{employee_Id=11,employee_Name=“Rakesh”,employee_Address=“Noida”,employee_Contact=8564,employee_Salary=4555}
};
公共IEnumerable GetAllEmployee()
{
返回员工;
}
在windows应用商店应用程序中使用上述内容

private HttpClient httpClient;

    public TestPage()
    {
        this.InitializeComponent();
        httpClient = new HttpClient();
        httpClient.BaseAddress = new Uri("http://localhost:52333/");
        httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        // Limit the max buffer size for the response so we don't get overwhelmed
        httpClient.MaxResponseContentBufferSize = 266000;
    }
    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        GetEmployee();
    }
    private void Rectangle_Tapped(object sender, TappedRoutedEventArgs e)
    {
      //  easingAnimation.Begin();
    }
    private async void GetEmployee()
    {
        var response = await httpClient.GetAsync("api/employee");
        if (response.IsSuccessStatusCode)
        {
            var employee = await response.Content.ReadAsStringAsync();
            List<Test> result = JsonConvert.DeserializeObject<List<Test>>(employee);

            //var emp = JsonArray.Parse(employee);
            //var qry = from m in emp
            //          select new
            //          {
            //              Emp_Id = m.GetObject()["Employee_Id"].GetNumber(),
            //              Emp_Name = m.GetObject()["Employee_Name"].GetString(),
            //              Emp_Address = m.GetObject()["Employee_Address"].GetString(),
            //              Emp_Contact = m.GetObject()["Employee_Contact"].GetNumber(),
            //              Emp_Salary = m.GetObject()["Employee_Salary"].GetNumber()
            //          };
          //  employee_details.DataContext = qry;
        }
    }
}
私有HttpClient HttpClient;
公共测试页()
{
this.InitializeComponent();
httpClient=新的httpClient();
httpClient.BaseAddress=新Uri(“http://localhost:52333/");
httpClient.DefaultRequestHeaders.Accept.Add(新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
//限制响应的最大缓冲区大小,这样我们就不会不知所措
httpClient.MaxResponseContentBufferSize=266000;
}
受保护的覆盖无效OnNavigatedTo(NavigationEventArgs e)
{
GetEmployee();
}
私有空心矩形(对象发送器,TappedRoutedEventArgs e)
{
//easingAnimation.Begin();
}
私有异步void GetEmployee()
{
var response=await-httpClient.GetAsync(“api/employee”);
if(响应。IsSuccessStatusCode)
{
var employee=wait response.Content.ReadAsStringAsync();
列表结果=JsonConvert.DeserializeObject(员工);
//var emp=JsonArray.Parse(employee);
//var qry=来自emp中的m
//选择新的
//          {
//Emp_Id=m.GetObject()[“员工Id”].GetNumber(),
//Emp_Name=m.GetObject()[“员工名称”].GetString(),
//Emp_Address=m.GetObject()[“员工地址”].GetString(),
//Emp_Contact=m.GetObject()[“员工_联系人”].GetNumber(),
//Emp_Salary=m.GetObject()[“员工工资”].GetNumber()
//          };
//employee_details.DataContext=qry;
}
}
}
但所有字段都有默认值,如null和0。 我应该在我的客户端添加来自rest服务的同一类参考员工吗

您的类“Test”应具有与“Employee”类相同的属性:

员工Id、员工姓名、员工地址、员工联系人、, 员工工资

当您从ReadAsStringAsync()检索值时,您将检索字符串,因此该字符串需要在异步调用的字符串中包含Json数据

如果出现以下情况,则需要签入调试器:

var employee = await response.Content.ReadAsStringAsync();
员工有什么价值

如果是,则只需在测试中反序列化:

List<Test> result = JsonConvert.DeserializeObject<List<Test>>(employee);
List result=JsonConvert.DeserializeObject(employee);