//3.0以上 string data = "[{id:\"1\",name:'a'},{id:\"2\",name:'b'},{id:\"3\",name:'c'}]"; JavaScriptSerializer json = new JavaScriptSerializer(); List<Data> list = json.Deserialize<List<Data>>(data); foreach (Data d in list) Response.Write(d.ID + "==" + d.Name + "<br/>"); public class Data { public string ID; public string Name; }
public class IdName
{
public int m_nID = 0;
public string m_strName = ""; /// <summary>
///
/// </summary>
/// <param name="nID"></param>
/// <param name="strName"></param>
public IdName(int nID, string strName)
{
this.m_nID = nID;
this.m_strName = strName;
}
}
string str ="[{id:\"1\",name:'a'},{id:\"2\",name:'b'},{id:\"3\",name:'c'}]"; List<IdName> idname = new List<IdName>();
str = str.Replace("[","").Replace("]","").Replace("{","").Replace("}","").Replace("\"","").Replace("'","");
string[] strItem = str.Split(new char[] { ',' });
for (int i = 0; i < strItem.Length; i+=2)
{
idname.Add(new IdName(Convert.ToInt32(strItem[i].Substring(3)),strItem[i+1].Substring(5)));
}
// 输出效果
int n1 = idname[0].m_nID; // 1
string s1 = idname[0].m_strName;// a int n2 = idname[1].m_nID; // 2
string s2 = idname[1].m_strName;// b
我写的简单,自己添加容错检查
http://www.cnblogs.com/CodingPerfectWorld/archive/2010/08/30/1812628.html
http://space.itpub.net/12639172/viewspace-503464
string data="[{id:\"1\",name:'a'},{id:\"2\",name:'b'},{id:\"3\",name:'c'}]";
JavaScriptArray array = (JavaScriptArray)JavaScriptConvert.DeserializeObject(data);
for(int i=0;i<array.Count;i++)
{
JavaScriptObject obj = (JavaScriptObject)array[i];
Response.Write(obj["id"] + "==" + obj["name"] + "<br/>");
}
/*
1==a
2==b
3==c
*/
//3.0以上
string data = "[{id:\"1\",name:'a'},{id:\"2\",name:'b'},{id:\"3\",name:'c'}]";
JavaScriptSerializer json = new JavaScriptSerializer();
List<Data> list = json.Deserialize<List<Data>>(data);
foreach (Data d in list)
Response.Write(d.ID + "==" + d.Name + "<br/>"); public class Data
{
public string ID;
public string Name;
}