本文目錄一覽:
- 1、java里的JSONObject作用是什麼?什麼時候用?
- 2、jquery $ajax調後台方法,響應出正確的json數據,但會彈出object object
- 3、debug 到JSONObject jo=new JSONObject();彈出source not found
- 4、mvc中的jsonobject報錯怎麼解決
java里的JSONObject作用是什麼?什麼時候用?
JsonObject 就是常說的 json。是一種重要的數據傳輸對象。其格式為{“key1″:value1,”key2”,value2….};key 必須是字元串。
因為ajax請求不刷新頁面,但配合js可以實現局部刷新,因此json常常被用來作為非同步請求的返回對象使用。
通過response.getWriter()獲取PrintWriter pw,然後pw.print(json)。如果沒有設置response.setContentType(“application/json; charset=utf-8”); 則需要自己再js中進行解析。
擴展資料
Java中交互方式分為同步和非同步兩種:
同步交互:指發送一個請求,需要等待返回,然後才能夠發送下一個請求,有個等待過程;
非同步交互:指發送一個請求,不需要等待返回,隨時可以再發送下一個請求,即不需要等待。
區別:一個需要等待,一個不需要等待,在部分情況下,項目開發中都會優先選擇不需要等待的非同步交互方式。
比如銀行的轉賬系統,對資料庫的保存操作等等,都會使用同步交互操作,其餘情況都優先使用非同步交互。
jquery $ajax調後台方法,響應出正確的json數據,但會彈出object object
那你是因為你返回的是對象,不是字元,可用JSON.stringify(data)查看data到底有些什麼。
debug 到JSONObject jo=new JSONObject();彈出source not found
你打開jar包下的class文件,eclipse只能根據jdk提供的反編譯功能來現實該class反編譯出來的類似彙編語言的程序代碼(和彙編語言還是有很大區別的,就當是java的彙編語言吧)!
如果你想看到源代碼,方法很多,你可以在下載jar包的時候,一起把源代碼下載!之後可以和你的eclipse關聯起來,之後再看就可以看到源碼了!
或者是下載一款反編譯工具,來反編譯jar下的class文件,個人推薦jd-gui這個工具,本人就是用這個工具,反編譯功能很強,而且能保存成java文件,並且軟體很小,只有幾百K。
mvc中的jsonobject報錯怎麼解決
利用 Json方法返回 數據時,如果有時間格式,會變成 “\/Date(1369419656217)\/” 這個樣子,問了同事找到個解決方法
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
var timeConverter = new IsoDateTimeConverter { DateTimeFormat = “yyyy-MM-dd HH:mm:ss” };
return Content(JsonConvert.SerializeObject(Data, Formatting.Indented, timeConverter));
我們把這個方法封裝一下,寫到Controller的基類里,創建一個 BaseController 的基類
public class BaseController : Controller
{
/// summary
/// 返回處理過時間的json
/// /summary
/// param name=”Data”/param
/// returns/returns
protected ContentResult JsonDate(object Data)
{
var timeConverter = new IsoDateTimeConverter { DateTimeFormat = “yyyy-MM-dd HH:mm:ss” };
return Content(JsonConvert.SerializeObject(Data, Formatting.Indented, timeConverter));
}
}
保證我們每一個Controller去繼承這個類
public class HomeController : BaseController
{
public ActionResult GetJson()
{
var result = new object[] {
new { name = “linfei”, age = “22”, address = “wuhan”,date=”2013-05-01″ },
new { name = “linfei”, arg = “26”, address = “sh”,date=”2013-05-20″ }
};
return JsonDate(result);
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/185056.html