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格式