{
"seeionkey": {
1: {
"2": {
"qty": 1,
"works": 1,
"price": 500
},
"3": {
"qty": 1,
"works": 1,
"price": 500
}, "total": {
"qty": 2,
"works": 2,
"price": 1000
}
},
"总计": {
"总工时": 100,
"总费用": 200000
}
}
}
首先你这个JSON是有点问题的。1: {这里的1表示key,请尽量用引号引上。
第二。json不是这么赋值。如下赋值是可以的。
var xx = {"1":"2"}//赋值一个新的值
xx.newValue = "3333"
console.log(xx)
//打印出来的值是:{ "1"="2", "newValue"="3333"}
你试试吧
json的用途是数据传输,如对其直接进行 *** 作。效率确实慢,所以不推荐这么 *** 作,就算写出了js,用户体验也很差。所以不建议在前段进行数据 *** 作。就算要 *** 作,那json先转成array(),然后 *** 作数组。建议,或者让后端处理好后,把更新好的json传到前段。
或者前段把需要修改的地方发给后端,由后台服务器完成,那效率会高很多。
datatable如果想转换成JSON类型的数据,是需要处理的。直接用微软提供的JavaScriptSerializer类直接序列化,会报错。
所以这里需要贴上两个方法,专门用来转换datatable的
#region DataTable转换为JSON/// <summary>
/// DataTable生成JSON
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static string CreateJSON(DataTable dt)
{
Dictionary<string, object> dit = new Dictionary<string, object>()
List<Dictionary<string, string>> list = DateTableConverter(dt)
if (list != null)
{
dit[dt.TableName] = DateTableConverter(dt)
return new JavaScriptSerializer().Serialize(dit)
}
else
{
return ""
}
}
/// <summary>
/// 将DataTable数据转化为字典类型
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static List<Dictionary<string, string>> DateTableConverter(DataTable dt)
{
List<Dictionary<string, string>> list = new List<Dictionary<string, string>>()
string cloName = string.Empty
foreach (DataRow dr in dt.Rows)
{
Dictionary<string, string> cloumn = new Dictionary<string, string>()
foreach (DataColumn dc in dt.Columns)
{
cloName = dc.ColumnName
cloumn.Add(cloName, dr[cloName].ToString())
}
list.Add(cloumn)
}
return list
}
#endregion
2.调用代码如下
DataTable table = new DataTable("Table1")DataColumn col1 = new DataColumn("ID", typeof(string))
DataColumn col2 = new DataColumn("Name", typeof(string))
table.Columns.Add(col1)
table.Columns.Add(col2)
DataRow row1 = table.NewRow()
row1["ID"] = "1"
row1["Name"] = "a"
table.Rows.Add(row1)
DataRow row2 = table.NewRow()
row2["ID"] = "2"
row2["Name"] = "b"
table.Rows.Add(row2)
string json = CreateJSON(table)
3.json结果如下
{"Table1":[{"ID":"1","Name":"a"},{"ID":"2","Name":"b"}]}4.数组中每一个元素,都是一行数据。只要循环遍历,然后将结果添加入你已经创建好的table中就可以了。还有疑问,继续追问吧。我先去吃饭了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)