#region DataContractJsonSerializer
/// <summary>
/// 对象转换成json
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="jsonObject">需要格式化的对象</param>
/// <returns>Json字符串</returns>
public static string DataContractJsonSerialize<T>(T jsonObject)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
string json = null;
using (MemoryStream ms = new MemoryStream()) //定义一个stream用来存发序列化之后的内容
{
serializer.WriteObject(ms, jsonObject);
json = Encoding.UTF8.GetString(ms.GetBuffer()); //将stream读取成一个字符串形式的数据,并且返回
ms.Close();
}
return json;
}
/// <summary>
/// json字符串转换成对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="json">要转换成对象的json字符串</param>
/// <returns></returns>
public static T DataContractJsonDeserialize<T>(string json)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
T obj = default(T);
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
{
obj = (T)serializer.ReadObject(ms);
ms.Close();
}
return obj;
}
#endregion
我的数据格式是
{"result":[{"teamId":94885,"teamname":"asas"},{"teamId":132820,"teamname":"哈喽"},{"teamId":137710,"teamname":"幸福花"}]}想得到teamId teamname 绑定到下拉列表里 谁能帮忙弄下啊 谢谢啦~~
JavaScriptArray array = (JavaScriptArray)JavaScriptConvert.DeserializeObject(str);
if (array.Count > 0)
{
JavaScriptObject obj = (JavaScriptObject)array[0];
JavaScriptArray arr = (JavaScriptArray)obj["result"];
foreach (JavaScriptObject o in arr)
{
Response.Write(o["teamId"] + "===" + o["teamname"] + "<br/>");
}
}
/*
下个Newtonsoft.Json.dll
结果:
94885===asas
132820===哈喽
137710===幸福花
*/
//刚自己给lz加了个中括号,现在按lz提供的字符串
string str = "{\"result\":[{\"teamId\":94885,\"teamname\":\"asas\"},{\"teamId\":132820,\"teamname\":\"哈喽\"},{\"teamId\":137710,\"teamname\":\"幸福花\"}]}";
JavaScriptObject json = (JavaScriptObject)JavaScriptConvert.DeserializeObject(str);
if (json.Count > 0)
{
JavaScriptArray arr = (JavaScriptArray)json["result"];
foreach (JavaScriptObject o in arr)
{
Response.Write(o["teamId"] + "===" + o["teamname"] + "<br/>");
}
}
/*
94885===asas
132820===哈喽
137710===幸福花
*/