您的位置:首页 > Web前端 > JavaScript

Json的初步学习、接触

2014-02-28 10:42 411 查看
全局引用

using Newtonsoft.Json;

using Newtonsoft.Json.Converters;

using Jayrock.Json;

 

//此处引用的dll为最新版json60r1,所以调用的类和.netFramework2.0版本的有所不同

 //此处引用Jayrock.dll

首先创建一个对象如下:







#region Json对象转换成DataTable

public DataTable getDtFromJson(string json)
{
#region Json 字符串 转换为 DataTable数据集合
/// <summary>
/// Json 字符串 转换为 DataTable数据集合
/// </summary>
/// <param name="json"></param>
/// <returns></returns>
DataTable dataTable = new DataTable();
//try
//{
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
ArrayList arrayList = javaScriptSerializer.Deserialize<ArrayList>(json);
if (arrayList.Count > 0)
{
foreach (Dictionary<string, object> dictionary in arrayList)
{
if (dictionary.Keys.Count<string>() == 0)
{
//return;
continue;
}
if (dataTable.Columns.Count == 0)
{
foreach (string current in dictionary.Keys)
{
dataTable.Columns.Add(current, dictionary[current].GetType());
}
}
DataRow dataRow = dataTable.NewRow();
foreach (string current in dictionary.Keys)
{
dataRow[current] = dictionary[current];
}

dataTable.Rows.Add(dataRow); //循环添加行到DataTable中
}
}
#endregion
return dataTable;
}

#endregion

#region Newtonsoft.Json名称空间下的方法将DataTable序列化为json对象

string sql = "SELECT * FROM twodictionery t";
DataTable dt = new DataAccess.SqlRunner().ExecuteSQLFillTable(sql);
string json = JsonConvert.SerializeObject(dt);

#endregion

#region Newtonsoft.Json名称空间下的方法将json反序列化为DataTable对象

DataTable dt1 = JsonConvert.DeserializeObject<DataTable>(this.hidjson.Value);

#endregion

#region Jayrock.Json转换json为model对象

IList<UserInfo> item = new List<UserInfo>();

JsonArray array = Jayrock.Json.Conversion.JsonConvert.Import(this.hidjson.Value) as JsonArray;

UserInfo usr = null;

foreach (JsonObject temp in array)
{
string GoodsNo = temp["GoodsNo"] + string.Empty;
string GoodsName = temp["GoodsName"] + string.Empty;
usr = new UserInfo();
usr.Name = GoodsNo;
usr.PassWord = GoodsName;
usr.User = temp["Qty"] + string.Empty;
usr.Age = temp["LocationCode"] + string.Empty;
item.Add(usr);
}

#endregion


js转换Json对象为数组:
function JsonToArray(jsonArray) {
var json = eval(jsonArray);
var str = "";
for (var i = 0; i < json.length; i++) {
str += json[i]["GoodsNo"].toString() + json[i]["GoodsName"].toString() + json[i]["Qty"].toString() + json[i]["LocationCode"].toString() + "\r\n";
}
alert(str);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息