一个dataset中包含多张表,将这个dataset解析为json并输出到屏幕上为:
{ "Head ":
[
{
"name ": "aaa ",
"sex ": "男 ",
"age ": "15 ",
"date ": "2009-6-29 23:00:44 "
},
{
"name ": "bbb ",
"sex ": "男 ",
"age ": "21 ",
"date ": "2009-6-29 18:24:53 "
},
{
"name ": "ccc ",
"sex ": "男 ",
"age ": "40 ",
"date ": "2009-6-29 18:18:12 "
}
]
}
{ "Head":[ { "time":"0"} ]}
{ "Head":[ { "Pcount":"1"} ]}
{ "Head":[ { "Ccount":"2"} ]}
请问这样的json该怎么解析呀???
{ "Head ":
[
{
"name ": "aaa ",
"sex ": "男 ",
"age ": "15 ",
"date ": "2009-6-29 23:00:44 "
},
{
"name ": "bbb ",
"sex ": "男 ",
"age ": "21 ",
"date ": "2009-6-29 18:24:53 "
},
{
"name ": "ccc ",
"sex ": "男 ",
"age ": "40 ",
"date ": "2009-6-29 18:18:12 "
}
]
}
{ "Head":[ { "time":"0"} ]}
{ "Head":[ { "Pcount":"1"} ]}
{ "Head":[ { "Ccount":"2"} ]}
请问这样的json该怎么解析呀???
解决方案 »
- EXTjs的ComboBox联动不刷新
- 提取网址问题,www.***.com/tool/aaa.htm的aaa.htm如何提取?
- showModalDialog和showModelessDialog关闭子页刷新父页面?怎么做?
- 几种常用禁止修改输入框的方法
- 【求助】在单独的js文件中使用“document.getElementById”方法找不东西????
- javascript能否判断windows.open的网址是否有效?
- javaScript中如何实现给一个HTML控件增加一个属性?
- 请教,还是在textarea里,控制光标的问题。谢谢
- CSS用什么属性控制表居中?
- 如何使用jquery获取多个a元素的值
- 能在同一时间生成两个cookie吗
- 帮忙修改一下
{
if (!IsPostBack)
{
Response.Clear();
Response.Charset = "utf-8";
Response.Buffer = true;
this.EnableViewState = false;
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "text/plain";
Response.Write(GetLikeUserName());
Response.Flush();
Response.Close();
Response.End();
}
}
private string GetLikeUserName()
{
string[] str ={ "January", "Ceshi", "jQuery", "josn", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
StringBuilder sbstr = new StringBuilder();
sbstr.Append("[");
for (int i = 0; i < str.Length; i++)
{
if (i == str.Length - 1)
{
sbstr.Append("{name:'" + str[i] + "',to:'最后中文测试" + i + "'}");
}
else
{
sbstr.Append("{name:'" + str[i] + "',to:'中文测试" + i + Request.QueryString["q"] + "'},");
}
}
sbstr.Append("]");
return sbstr.ToString();
}
输出的格式为:
[{name:'January',to:'中文测试0z'},{name:'Ceshi',to:'中文测试1z'}, {name:'jQuery',to:'中文测试2z'},{name:'josn',to:'中文测试3z'}, {name:'February',to:'中文测试4z'},{name:'March',to:'中文测试5z'}, {name:'April',to:'中文测试6z'},{name:'May',to:'中文测试7z'},{name:'June',to:'中文测试8z'},{name:'July',to:'中文测试9z'},{name:'August',to:'中文测试10z'}, {name:'September',to:'中文测试11z'},{name:'October',to:'中文测试12z'}, {name:'November',to:'中文测试13z'},{name:'December',to:'最后中文测试14'}]
获取到该数据以后:通过eval(data)就可以转化了
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;public partial class josn_Default : System.Web.UI.Page
{
DataTable DT = new DataTable();
DataRow DR;
DataColumn DC = new DataColumn();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ReturnDataTable();
for (int i = 0; i < 10; i++)
{
DR = DT.NewRow();
DR["ID"] = i;
DR["Title"] = "胡果" + i;
DT.Rows.Add(DR);
}
StringBuilder Builder = new StringBuilder();
for (int j = 0; j < DT.Rows.Count; j++)
{ Builder.AppendFormat("ID:{0},Title:{1}", DT.Rows[j][0].ToString(), DT.Rows[j][1].ToString());
}
Response.Write(Builder.ToString());
}
}
public void ReturnDataTable()
{
DC = new DataColumn();
DC.ColumnName = "ID";
DC.DataType = System.Type.GetType("System.Int32");
DT.Columns.Add(DC);
DC = new DataColumn();
DC.ColumnName = "Title";
DC.DataType = System.Type.GetType("System.String");
DT.Columns.Add(DC);
}
}
变量里的空格去掉
把最外层的同层级{}放到一个数组里[]<div id="json">
[
{"Head":
[
{
"name": "aaa ",
"sex": "男 ",
"age": "15 ",
"date": "2009-6-29 23:00:44 "
},
{
"name": "bbb ",
"sex": "男 ",
"age": "21 ",
"date": "2009-6-29 18:24:53 "
},
{
"name": "ccc ",
"sex": "男 ",
"age": "40 ",
"date": "2009-6-29 18:18:12 "
}
]
},
{ "Head":[ { "time":"0"} ]},
{ "Head":[ { "Pcount":"1"} ]},
{ "Head":[ { "Ccount":"2"} ]}
]
</div>
<script>
var json = document.getElementById('json').innerHTML;
json = eval('('+json+')'); alert(json[0].Head[0].name); // aaa
alert(json[0].Head[0].sex); // 男
</script>
var json = { "Head ":
[
{
"name ": "aaa ",
"sex ": "男 ",
"age ": "15 ",
"date ": "2009-6-29 23:00:44 "
},
{
"name ": "bbb ",
"sex ": "男 ",
"age ": "21 ",
"date ": "2009-6-29 18:24:53 "
},
{
"name ": "ccc ",
"sex ": "男 ",
"age ": "40 ",
"date ": "2009-6-29 18:18:12 "
}
]
};
function map(elems,callback){
var arr = [];
for ( var i = 0; i < elems.length; i++ ) {
var value = callback(elems[i],i);
if(value!=null){
arr[arr.length] = value;
}
}
return arr.concat.apply([],arr);
} var t = map(_xkx.Head,function(row){
return {
name : row.name
//helping yourself
}
});
alert(t[0].name);
alert(t[1].name);
[
{"Head":
[
{
"name": "aaa ",
"sex": "男 ",
"age": "15 ",
"date": "2009-6-29 23:00:44 "
},
{
"name": "bbb ",
"sex": "男 ",
"age": "21 ",
"date": "2009-6-29 18:24:53 "
},
{
"name": "ccc ",
"sex": "男 ",
"age": "40 ",
"date": "2009-6-29 18:18:12 "
}
]
},
{ "Head":[ { "time":"0"} ]},
{ "Head":[ { "Pcount":"1"} ]},
{ "Head":[ { "Ccount":"2"} ]}
]
</div>
<script>
var json = document.getElementById('json').innerHTML;
json = eval('('+json+')'); alert(json[0].Head[0].name); // aaa
alert(json[0].Head[0].sex); // 男
</script>