将JSON对象转换成IList,好用linq

JObject

JToken

JProperty

IList<>

搞得头都大了,记而备忘:

JObject json = .....
JToken[] jps = json["records"][0].ToArray();
List<ItemInfo> cols = json["columns"].ToObject<List<ItemInfo>>();
int len = jps.Length;
int i = 0;
int limit = 2;
StringBuilder sb = new StringBuilder("");
sb.Append(@"<div><table><tr>");
for (int j = 1; j < len; j++)
{
    JProperty jp = jps[j] as JProperty;
    string displayname = cols.Where(m => (m.Name.CompareTo(jp.Name) == 0)).First().DisplayName;
    sb.Append(String.Format(@"<td>{0}:</td><td><input type=""text"" value=""{1}"" name=""{2}""/></td>"
        , displayname
        , jp.Value
        , jp.Name));
    i++;
    if (i % limit == 0)
    {
        sb.Append("</tr><tr>");
    }
}
if (i % limit != 0)
{
    for (i = i % limit; i < limit; i++)
    {
        sb.Append("<td> </td>");
    }
    sb.Append("</tr>");
}
else
{
    sb.Remove(sb.Length - 4, 4);
}
sb.Append("</table></div>");



你可能感兴趣的:(ilist,jobject,JToken,JProperty)