C# 反序列化JSON列表
我正在尝试使用Newtonsoft.JSON和C反序列化JSON列表。以下是我的代码:C# 反序列化JSON列表,c#,json,C#,Json,我正在尝试使用Newtonsoft.JSON和C反序列化JSON列表。以下是我的代码: List<Zone> zones = new List<Zone>(); string string = "[ "{\"znId\":19,\"znCode\":\"ZONE_TS_10\",\"znFiltre\":\"(select EMP_I_ID from
List<Zone> zones = new List<Zone>();
string string = "[
"{\"znId\":19,\"znCode\":\"ZONE_TS_10\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Zone Test 10 \",\"znPriority\":\"2\"}," +
"{\"znId\":15,\"znCode\":\"PK_ZONE_TEST06\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Test 6\",\"znPriority\":\"3\"}," +
"{\"znId\":20,\"znCode\":\"TS_ZONE_11\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"TS Zone 11\",\"znPriority\":\"3\"}," +
"{\"znId\":21,\"znCode\":\"11_TS_ZONE\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"11 TS Zone\",\"znPriority\":\"4\"}," +
"{\"znId\":16,\"znCode\":\"PK_ZONE_TEST07\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Test 7\",\"znPriority\":\"4\"}," +
"{\"znId\":17,\"znCode\":\"PK_ZONE_TEST08\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Test 8\",\"znPriority\":\"5\"}," +
"{\"znId\":22,\"znCode\":\"PK_ZONE_TEST12\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Test 12\",\"znPriority\":\"5\"}
]";
zones = JsonConvert.DeserializeObject<List<Zone>>(string);
区域列表显示了7道主菜。字符串的每个区域一个。但是所有的元素都是空的。我在做什么?首先公开属性,然后更正json。开头有额外的引号。以下是正确的版本:
List<Zone> zones = new List<Zone>();
string @string = "[{\"znId\":19,\"znCode\":\"ZONE_TS_10\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Zone Test 10 \",\"znPriority\":\"2\"}," +
"{\"znId\":15,\"znCode\":\"PK_ZONE_TEST06\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Test 6\",\"znPriority\":\"3\"}," +
"{\"znId\":20,\"znCode\":\"TS_ZONE_11\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"TS Zone 11\",\"znPriority\":\"3\"}," +
"{\"znId\":21,\"znCode\":\"11_TS_ZONE\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"11 TS Zone\",\"znPriority\":\"4\"}," +
"{\"znId\":16,\"znCode\":\"PK_ZONE_TEST07\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Test 7\",\"znPriority\":\"4\"}," +
"{\"znId\":17,\"znCode\":\"PK_ZONE_TEST08\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Test 8\",\"znPriority\":\"5\"}," +
"{\"znId\":22,\"znCode\":\"PK_ZONE_TEST12\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Test 12\",\"znPriority\":\"5\"}]";
zones = JsonConvert.DeserializeObject<List<Zone>>(@string);
首先,将属性公开,然后更正json。开头有额外的引号。以下是正确的版本:
List<Zone> zones = new List<Zone>();
string @string = "[{\"znId\":19,\"znCode\":\"ZONE_TS_10\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Zone Test 10 \",\"znPriority\":\"2\"}," +
"{\"znId\":15,\"znCode\":\"PK_ZONE_TEST06\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Test 6\",\"znPriority\":\"3\"}," +
"{\"znId\":20,\"znCode\":\"TS_ZONE_11\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"TS Zone 11\",\"znPriority\":\"3\"}," +
"{\"znId\":21,\"znCode\":\"11_TS_ZONE\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"11 TS Zone\",\"znPriority\":\"4\"}," +
"{\"znId\":16,\"znCode\":\"PK_ZONE_TEST07\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Test 7\",\"znPriority\":\"4\"}," +
"{\"znId\":17,\"znCode\":\"PK_ZONE_TEST08\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Test 8\",\"znPriority\":\"5\"}," +
"{\"znId\":22,\"znCode\":\"PK_ZONE_TEST12\",\"znFiltre\":\"(select EMP_I_ID from V_ZON_SITE)\",\"znDescription\":\"Test 12\",\"znPriority\":\"5\"}]";
zones = JsonConvert.DeserializeObject<List<Zone>>(@string);
将您的属性公开,以便在本例中可以在classNewtonSoft之外访问
public class Zone
{
public int znId { get; set; }
public String znCode { get; set; }
public String znFiltre { get; set; }
public String znDescription { get; set; }
public String znPriority { get; set; }
}
将您的属性公开,以便在本例中可以在classNewtonSoft之外访问
public class Zone
{
public int znId { get; set; }
public String znCode { get; set; }
public String znFiltre { get; set; }
public String znDescription { get; set; }
public String znPriority { get; set; }
}
尝试将属性公开。为什么它们是私人的?试着把它们公之于众。为什么是私人的?