Json的初步学习、接触
2014-02-28 10:42
411 查看
全局引用
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Jayrock.Json;
//此处引用的dll为最新版json60r1,所以调用的类和.netFramework2.0版本的有所不同
//此处引用Jayrock.dll
首先创建一个对象如下:
![](https://img-blog.csdn.net/20140228104010750?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2V0eWdhc3BuZXQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20140228104047343?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2V0eWdhc3BuZXQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20140228104100515?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2V0eWdhc3BuZXQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
#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
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);
}
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);
}
相关文章推荐
- OpenCV学习(1)——初步接触
- json2.js的初步学习与了解(转)
- Java学习第18天:其他类和IO流的初步接触
- json2.js的初步学习与了解
- json2.js的初步学习与了解(转)
- 首次接触框架,struts2初步学习(随笔)
- RxJava初步接触学习
- json2.js的初步学习与了解
- json2.js的初步学习与了解(转)
- json2.js的初步学习与了解
- 【网络】Retrofit 2.0 初步接触 跨越坑去学习
- VS 2008 Feature Pack界面开发学习笔记之初步接触
- Java学习之提高!初步接触eclipse和知识复苏(因为有不少是前面提到的)
- 【Qt学习笔记】1.初步接触
- json2.js的初步学习与了解
- VS 2008 Feature Pack界面开发学习笔记之初步接触
- json2.js的初步学习与了解
- [JAVA][JSON]初步学习JSON<一>
- json2.js的初步学习与了解(转)