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

前端接收json数据

发布时间: 2022-01-20 10:43:17

A. 前端获取json怎么判断是不是需要的json数据

这个应该不是数组,{}表示一个object吧,[{},{},....]是数组!你可以先用JSONObject解析整个字符串后,在获得ActiveMsgs的值后再用JSONObject解析吧!

你可以去后盾人平台看一下,里面的东西不错

B. 前端获得的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标签的最后

C. java后台怎么接收前端传过来的json数组

你用到Struts2框架了吗?

一般接收参数都是String row011 = request.getParameter("row011");

D. 如何拿到前端传过来的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();
}

在这里进行对数据的处理:
///
/// 处理异步请求
///
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
///
/// Json转DataTable
///
///
///
private DataTable Json2Dtb(string json)
{

JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = jss.Deserialize(json);
DataTable dtb = new DataTable();
if (dic.Count > 0)
{
foreach (Dictionary 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数据

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

然后写回到前台

///
/// 处理异步请求
///
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 = $("");
for (var i = 0; i < json.length; i++) {
o1 = json[i];
var row = $("");
for (key in o1) {
var td = $("");
td.text(o1[key].toString());
td.appendTo(row);
}
row.appendTo(table);
}
table.appendTo($("#back"));
}

E. 前端接收到的json数据,怎么把json数据中的字符转换成中文

在后台使用java.net.URLEncoder.encode方法试一下,如:String uname=java.net.URLEncoder.encode(req.getParameter("uname"),"UTF-8"); 前提是req.getParameter("uname")取到的值不为空

F. 前台js 取json 对象数组数据

1、先定义一个json变量。

G. 后台应该如何取到前端传来的json对象

  • 可先转成字符串dataForm=dataForm.toString();


    后端接收:StringdataForm=request.getParameter("dataForm");

    假如有Test这个类,里面有hello,hello2
    那么就可以将json格式的数据转换成数组格式
    List<Test>qualificationList=JSONArray.parseArray(HtmlUtils.htmlUnescape(dataForm),Test.class);



H. php 怎么接收前端传来的json数据

<?php
header("Content-type:text/html;charset=utf-8");
if($_POST){
$d = $_POST['data'];//这里获取的直接就是数组了,不需要用到json_decode
echo $d['doing'];
//print_r($d);
exit;
}
?>

<script src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#xx").click(function(){
var url = "test.php";
var str ="{'doing':'createvote','type':'type','num':'num','votetheme':'votetheme','creater':'loginname'}";//json格式字符串
var data = eval('('+str+')');//转换成数组对象,不加这步,那么PHP获取的是字符串。
$.post(url, {'data': data}, function(res) {//注意jquery的$.post的第2个参数必须是键值对形式
alert(res);
});
});
});
</script>

<input id="xx" type="button" value="点击">

I. 如何获取前端传过来的json对象

获取前端传过来的json对象
代码如下

public JSONObject getRequestContent(HttpServletRequest req) {
JSONObject data = null;
try {
InputStream is = req.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf-8"));
String line = null;
StringBuffer content = new StringBuffer();
while ((line = br.readLine()) != null) {
System.out.println(line);
content.append(line);
System.out.println(content);
}
String reqStr = content.toString().trim();
if (StringUtils.isEmpty(reqStr)) {
return new JSONObject();
}
if (reqStr.contains("=")) {
reqStr = reqStr.replaceAll("=", ":");
}
if (!reqStr.startsWith("{")) {
reqStr = "{" + reqStr;
}
if (!reqStr.endsWith("}")) {
reqStr = reqStr + "}";
}
data = JSONObject.fromObject(reqStr);
} catch (Exception e) {
e.printStackTrace();
return new JSONObject();
}
return data;
}

J. js中怎么获取json格式数据

1.前端可以通过Json.parse(str)把字符串str转换为Json格式
2.如果是获取后台数据可以直接用jquery的ajax获取,ajax获取后数据就是json格式