JSON傳遞資料
1.JSON字串
json指的是javascript物件表示方法,全稱為Javascript Object Notation,是獨立於語言的輕量級文字資料交換格式,傳遞速率較快於xml,是現階段作為資料傳遞的主要格式。
先給出一個json字串的示例:
[
{
"age": 20,
"gender": "male",
"city": "nanjing",
"score": [0,-1,0,-1,0,0]
},
{
"age": 52,
"gender": "male",
"city ": "nanjing",
"score": [-1,0,1,1,1,0]
},
{
"age": 39,
"gender": "male",
"city": "nanjing",
"score": [0,0,0,1,-1,1]
},
{
"age": 22,
"gender": "male",
"city": "nanjing",
"score": [1,0,1,-1,0,0]
}
]
上面的json字串不難理解,這也是json串的優點所在(xml也同樣具有這樣的特性),這段json串包含了4個物件,每個物件都有自己的屬性即年齡(age)、性別(gender)、城市(city)以及評分(sorce)。每個物件用大括號{}所囊括,屬性名稱由雙引號包圍,屬性值與屬性名稱用冒號連結,不同屬性之間用逗號相隔,不同物件之間也用逗號相隔。
Json的語法是Javascript的子語法,也就是說這一套體系在javascript中同樣適用。Json主要的作用是用於資料的傳遞,因此涉及到了資料收發的問題。
2.Json串的接收
我們後臺程式以java為例。在java平臺中,接收Json串的實質就是將資料儲存為不同的物件,如上文所提到的這個Json串,我們可以建立一個JavaBean用於接收上述Json串,因此我們構造了一個User類,其中包含了age,gender,city以及score等私有屬性,User類程式碼如下。
public class User{
private int age;
private String gender;
private String city;
private int[] score;
//Construct
//Getter and Setter
}
然後將前文提及的Json串寫入一個.json檔案並儲存。利用java進行檔案的讀寫。我們可以建立一個java的檔案讀取工具類FileUtil來統一存放讀取檔案方法,FileUtil類如下:
public class FileUtil {
public String readFile(String filename){
String str="";
BufferedReader reader=null;
try {
FileInputStream fileInputStream=new FileInputStream(filename);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
reader=new BufferedReader(inputStreamReader);
String tempStr=null;
while((tempStr=reader.readLine())!=null){
str+=tempStr;
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}finally{
if(reader!=null){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return str;
}
}
該工具類中暫時只寫了一種方法即readFile(String filename),filename是將要讀取檔案的絕對路徑,函式返回一個由檔案內容構成的字串。這個字串也就是我們需要的json串,通過對這個字串的解析,我們便可以得到相應的實體類,這裡我們用到了json-lib.jar包,具體程式碼如下
public class JsonTest {
public static void main(String[] args) {
FileUtil fileUtil=new FileUtil();
JsonUtil jsonUtil=new JsonUtil();
List<User> userList=new ArrayList<User>();
String filename="D:/workspace/MDSTest/json/Users.json";
String jsonContext=fileUtil.readFile(filename);
JSONArray jsonArray=JSONArray.fromObject(jsonContext);
Collection<?> userCollection=JSONArray.toCollection(jsonArray);
if(userCollection!=null&&!userCollection.isEmpty()){
Iterator<?> it=userCollection.iterator();
while(it.hasNext()){
JSONObject jsonObj=JSONObject.fromObject(it.next());
User user=(User)JSONObject.toBean(jsonObj, User.class);
userList.add(user);
}
}
for(User user:userList){
System.out.println("age:"+user.getAge());
System.out.println("gender:"+user.getGender());
System.out.println("city:"+user.getCity());
System.out.println("score:"+user.getScore());
}
}
}
上述操作中我們把json中的資訊分別儲存為4個獨立的user類,並將這4個user儲存到了List中。這樣便完成了json到java物件的轉化,也就是json資料的接受。
3.java類轉化為json串
相關推薦
django form表單驗證,使用Ajax提交併返回提示資訊(JSON傳遞資料)
直接上程式碼: HTML,由Form外掛自動生成input標籤 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Ajax提交
JavaScrip ajaxt和python flask通過json傳遞資料的方法
JavaScript呼叫ajax傳送一個json $('#cc').click(function () { mdffilepath = { 'name1': 'aaaa1','name2': 'aaaa2','name3': 'aaaa
flask 如何使用介面以及通過json傳遞資料
之前不知道介面是什麼,最近通過一段時間的學習。以下為介面的入門理解。 1:首先介面是什麼: 簡單的來說,介面以及API可以理解為flask框架下的url路由。外部網站通過這個url去訪問這個介面,然後介面再進行操作。 2.以下為使用介面的簡單案例 # -*- codi
JSON傳遞資料
1.JSON字串 json指的是javascript物件表示方法,全稱為Javascript Object Notation,是獨立於語言的輕量級文字資料交換格式,傳遞速率較快於xml,是現階段作為資料傳遞的主要格式。 先給出一個json字串的示例:
Java通過Json傳遞資料給JavaScript
<%@ page contentType = "text/html;charset=UTF-8" language = "java" %> <%@ page import="net.
與其他系統介面對接(java),json格式資料傳遞···OkHttpClient方式
上一種方式HttpURLConnection方式出現了點問題,就是在idea中啟動服務一切正常。當時用tomcat部署專案時候,對方介面接收引數出現中文亂碼問題。用了很多方式都沒有解決,不知有沒有大佬可以解決 引入依賴 <dependency>
與其他系統介面對接(java),json格式資料傳遞···HttpURLConnection方式
這個操作是與****系統進行資料介面的對接,本系統向****系統傳遞幾個引數,****系統接收並返回值。 目錄 post請求方式 @Service層 工具類ResultUtil pom需要新增的依賴 get請求方式 另一種 OkHttpClient 方式 post
JSON前端後端傳遞資料
網路層是http/tcp協議,其實是請求-響應,再說白了即使字串,不論後臺傳來的是什麼型別的資料,也不論前臺傳回的什麼型別的資料,網路層統統當作字串處理。最好能有一種通用的規則來編輯,轉換字串,這個標準或者協議就是JSON,JSON就是用來交換資料的,是一種string,一種獨立於平臺的資料格式。前
springmvc傳遞json map資料
@RequestMapping("/abc") @ResponseBody public Map<String,Object> test1(@RequestParam("page") Integer page,@RequestParam("row
sprig之使用ajax來實現向後臺實現json型別資料的傳遞
首先要說的是一定要引對jar包,不是單獨json型別的包,而是json包和spring的依賴jar包都要引入。這裡給一個maven地址,可以實現對所有的jar包都進行引入操作。(本人就是因為jar包沒引對而一直出現415錯誤,比較坑) <!--進行json依賴的jar
JAVA中使用JSON進行資料傳遞
最近在做一個基於JAVA Servlet的WEB應用以及對應的Anroid應用客戶端的開發工作。 其中,在介面的訪問和資料的傳輸方面使用的比較多的是使用JSON物件來操作格式化資料:在伺服器端採用JSON字串來傳遞資料並在WEB前端或者Android客戶端使用JSON來
JSON傳遞bool型別資料的處理方式
ajax中使用json傳遞資料時,其它資料型別都不是問題,但是如果伺服器端生成的JSON中有bool型別的資料時,到客戶端解析時出現了小小的問題,總結如下: 伺服器返回的JSON為: {"TypeID":[1037],"Title":"河北軟體職業技術學院","Intr
Android 下使用 JSON 與伺服器端 Servlet 傳遞資料
在Android下,SDK已經封裝好了與JSON相關的操作,伺服器端也只要匯入相關JAR包即可,這裡先放上我的小demo原始碼,android端和servlet的demo分別在兩個資料
SpringMvc+ajax 實現json格式資料傳遞
傳JSON物件 前端 function test () { var param = {username : "yitop"}; $.ajax({ timeout : 20000, type : "
格式化Json傳遞的日期
clas 格式化json cnblogs subst pan var log for fun 自定義日期類型轉化函數ChangeDateFormat,將//Date(1294499956278+0800)//形式的函數轉化為2014-5-2形式 1 function
javascript與php使用json傳遞數據
javascript與php使用jsonjavascript: <script> function loadDoc(file,async=true){ if(window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Saf
頁面訪問伺服器返回json格式資料太大,導致資料不全被截斷,無法展示
問題:頁面展示呼叫查詢方法查詢全部資料的時候一直顯示loading。。。,開啟偵錯程式顯示 Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR,而少部分查詢則正常顯示。 因為資料中有圖片轉成的二進位制陣列,資料比較長,由此懷疑
Struts2返回json格式資料踩坑記錄
事件起因 昨天提測修改凍結/解凍銀行卡樣式的功能,微姐測試過程中發現呼叫ajax請求耗時過長,今天來排查,發現瀏覽器請求/finance/ajax/freeze/ajaxGetShopLists時,對應的後端方法getShopList()莫名其妙地執行了兩遍,並且返回給瀏覽器的Json字串如下:
Vue使用props傳遞資料
1. Vue使用props傳遞資料 元件不僅僅是用來進行內容的複用,更重要的是元件之間的要進行通訊。通常父元件的模板中包含子元件,父元件要正向的向子元件傳遞資料或引數,子元件接受到後根據引數額不同來渲染不同的內容或執行操作。這個正向傳遞的過程就是通過props來實現的。 在元件中,
vue高階屬性 provide/inject,父元件向子元件或父元件的子元件的子元件...傳遞資料
官網說明:provide 和 inject 主要為高階外掛/元件庫提供用例。並不推薦直接用於應用程式程式碼中 以允許一個祖先元件向其所有子孫後代注入一個依賴,不論元件層次有多深,並在起上下游關係成立的時間裡始終生效。 provide 選項應該是一個物件