当前位置:首页 » 网页前端 » 前端处理json数据
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

前端处理json数据

发布时间: 2022-07-08 03:30:59

前端开发中如何解析json数据

序列化吧,json字符串可以通过string.parse 方法转换为json对象,然后在一个循环中就可以拿到其中的值。

② go语言怎样把json格式的数据发给前端jquery处理

这个东西跟语言没关系,你要搞清楚http的流程,在你这种情况下,go语言写的程序是作为http server,jquery作为浏览器中运行的脚本,你可以使用jquery向服务器发送ajax请求,服务器返回json数据就可以了, http.Handle("/json", fooHandler)

http.HandleFunc("/test", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "这里写上你的json数据就行了")
})

log.Fatal(http.ListenAndServe(":8080", nil))

对于jquery就
$.get("/test/json",function(m){alert(m);});
就可以了

③ 前端返回的json数据怎么处理

你可以写一个接口,所有的service来继承这个接口, public interface IService { void text()throws Exception;}

④ 如何将数据以json格式传给前端

将数据以json格式传给前端:
function generateDtb() {
//写入
var txtName = document.getElementById("txtName").value;
//创建数组
var dtb = new Array();
//通过循环把数据写入到数组并返回
for (var i = 0; i < firstGroup.length; i++) {

var row = new Object();
row.Name = txtName;
row.fullMoney = firstGroup[i].value;
row.discount = secondGroup[i].value;
dtb.push(row);
}
return dtb;
}

把数组转换成json串传入到后台:
$(function () {
//点击botton1
$("#lbtnOK").click(function () {
var url = "DiscountManger.aspx?ajax=1";
var dtb = generateDtb();
// var strName = document.getElementById("txtName").value;

if (dtb == null)
{ }
else {
//序列化对象
var postdata = JSON.stringify(dtb);
//异步请求
$.post(url, { json: postdata }, function (json) {
if (json) {
jBox.tip("添加成功!", "提示");
location.reload();
}
else {
jBox.tip("添加失败!", "提示");
location.reload();
}
}, "json")

}
});
});

在后台的操作:
首先判断是否需要传输数据

if (!IsPostBack)
{
//判断是否异步请求
if (Request.QueryString["ajax"] == "1")
{
ProcessRequest();
}

在这里进行对数据的处理:
/// <summary>
/// 处理异步请求
/// </summary>
private void ProcessRequest()
{
//存入要填写的策略
ArrayList arrDiscount = new ArrayList();
Response.ContentType = "text/html";
string json = Request.Form["json"];
//反序列化DataTable
if (json == null)
{
return;
}
else
{
DataTable newdtb = Json2Dtb(json);
for (int i = 0; i < newdtb.Rows.Count; i++)
{
Entity.StrategyDiscount enStrategyDiscount = new Entity.StrategyDiscount();
//打折方案名
enStrategyDiscount.name = newdtb.Rows[i]["Name"].ToString();
//商店ID
enStrategyDiscount.shopId = long.Parse(LoginInfo.ShopID);

enStrategyDiscount.fullMoney = Convert.ToDecimal(newdtb.Rows[i]["fullMoney"].ToString());
enStrategyDiscount.discount = Convert.ToDecimal(newdtb.Rows[i]["discount"].ToString());
//写入数据到数组
arrDiscount.Add(enStrategyDiscount);
}
//写入数据到数据库
IStrategyBLL strategy = new StrategyBLL();

if (strategy.AddStrategyDiscount(arrDiscount))
{
Response.Write("true");
Response.End();
}
else
{
Response.Write("false");
Response.End();
}

}

这里,我们需要把json转换成datatable
/// <summary>
/// Json转DataTable
/// </summary>
/// <param name="json"></param>
/// <returns></returns>
private DataTable Json2Dtb(string json)
{

JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = jss.Deserialize<ArrayList>(json);
DataTable dtb = new DataTable();
if (dic.Count > 0)
{
foreach (Dictionary<string, object> drow in dic)
{
if (dtb.Columns.Count == 0)
{
foreach (string key in drow.Keys)
{
dtb.Columns.Add(key, drow[key].GetType());
}
}
DataRow row = dtb.NewRow();
foreach (string key in drow.Keys)
{
row[key] = drow[key];
}
dtb.Rows.Add(row);
}
}

return dtb;
}

这样,就可以把数据无刷新的写入到数据库。
当然,如果我们有一个从数据库读取的datatable,如果通过json显示在前台呢。
首先,我们需要把datatable转换为json数据

/// <summary>
/// DataTable转Json
/// </summary>
/// <param name="dtb"></param>
/// <returns></returns>
private string Dtb2Json(DataTable dtb)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = new ArrayList();
foreach (DataRow row in dtb.Rows)
{
Dictionary<string, object> drow = new Dictionary<string, object>();
foreach (DataColumn col in dtb.Columns)
{
drow.Add(col.ColumnName, row[col.ColumnName]);
}
dic.Add(drow);
}
return jss.Serialize(dic);
}

然后写回到前台

/// <summary>
/// 处理异步请求
/// </summary>
private void ProcessRequest()
{
Response.ContentType = "text/html";
string json = Request.Form["json"];
//反序列化DataTable
DataTable newdtb = Json2Dtb(json);
//序列化DataTable为JSON
string back = Dtb2Json(newdtb);
Response.Write(back);
Response.End();
}

在前台接受显示:

$(function() {
//点击botton1
$("#botton1").click(function() {
createTable(json);
});
});

//显示Json中的数据
function createTable(json) {
var table = $("<table border='1'></table>");
for (var i = 0; i < json.length; i++) {
o1 = json[i];
var row = $("<tr></tr>");
for (key in o1) {
var td = $("<td></td>");
td.text(o1[key].toString());
td.appendTo(row);
}
row.appendTo(table);
}
table.appendTo($("#back"));
}

⑤ 怎样在前端解析由后端传输过来的json

将json字符串儿装换成json对象,然后就可以访问其中的数据了。或者直接转换成对象后使用for循环或者foreach进行遍历

⑥ 从mysql获取json数据,前端怎么处理转换解析json类型

看你用生么语言,但高级语言都有专门的类库或函数把json字符串转为对象或数组。比如php的json_decode函数。

⑦ 前端如何解析由list转换过来的json数据

两种方法,举个例子吧:

方法一:

varstr='[{"a":"1001","b":"book1"},{"a":"1002","b":"book2"}]';
varobj=JSON.parse(str);
obj[0].b

方法二:

varstr='[{"a":"1001","b":"book1"},{"a":"1002","b":"book2"}]';
varobj=eval(str);
obj[1].b

⑧ jsp前端页面如何解析json数据

如果是AJAX传来的JSON 最好是用JQUERY 指定一下就可以了啊

而且如果是局部刷新的话更好, 返回的就是一个data
就可以 data[1].name 这样取值了, 具体的你看一下jquery的文档就好 很简单

⑨ 前端有什么方便的方法解析复杂的json数据

你整个程序都有问题啊,arr是个数组,不是个对象,JSON.stringify()后还是个空数组。另外jarr.result是什么鬼?JSON.stringify()后jarr只会是个纯的Json字符串了,根本拿不到任何字段正确的json base64编码应该是类似于下面的代码new Buffer(JSON.stringify({"hello":"world"})).toString("base64");

⑩ 前端获得的json数据怎么展示

把前端获取的json数据转换为json对象,如果再根据json对象数据在html页面展示。如:

varjosn=[{'name':'z','age':18},{'name':'li','age':19}];//json对象
//我这里josn对象是数组,可以遍历,用table去显示
varhtml='<tableid="tab"><tr><td>姓名</td><td>年龄</td></tr>';//html字符串
for(vari=0;i<json.length;i++){
varobj=json[i];
html+='<tr><td>'+obj.name+'</td><td>'+obj.age+'</td></tr>';//拼接html字符串
}
html+='</table>';//table结尾
$(document.body)append(html);//利用jQuery把table追加在body标签的最后