本文目錄一覽:
- 1、在 java web開發中怎麼使用json?
- 2、java中json怎麼運用?
- 3、JAVA工作流框架哪個比較好?
- 4、java 如何解析JSON
- 5、java的IO流怎麼發送json? 請具體分步哦,打好了有懸賞。
在 java web開發中怎麼使用json?
一、JSON建構有兩種結構:
json簡單說就是javascript中的對象和數組,所以這兩種結構就是對象和數組2種結構,通過這兩種結構可以表示各種複雜的結構
1、對象:對象在js中表示為“{}”括起來的內容,數據結構為 {key:value,key:value,…}的鍵值對的結構,在面向對象的語言中,key為對象的屬性,value為對應的屬性值,所以很容易理解,取值方法為 對象.key 獲取屬性值,這個屬性值的類型可以是 數字、字符串、數組、對象幾種。在Java中就是一種Map結構。
2、數組:數組在js中是中括號“[]”擴起來的內容,數據結構為 [“java”,”javascript”,”vb”,…],取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是 數字、字符串、數組、對象幾種。在Java中是一種list結構。
經過對象、數組2種結構就可以組合成複雜的數據結構了。
二、Json in Javascript
使用Json語法創建對象
var people = {“name”:”jack”,”sex”:”mail”};
可以通過這種語法創建json對象,用“{}”括起來,用“,”隔開key:value
使用Json語法創建數組
var arr =[value1,value2…];
一個包含多個people的數組 peoples = [{“name”:”jack”,”sex”:”mail”},
“name”:”lily”,”sex”:”femail”};
Json數組可以通過這種語法創建,用”[]”括起來,數組元素之間用“,”分隔開,下面是這種語法的示意圖:
在使用Json格式字符串與服務器交互時候,可以利用Json擴展的方法將字符串轉換成一個JavaScript對象,或者將一個對象轉換成Json格式字符串。不過先要登錄下載Json2.js文件。引入該包後,js對象直接用toJSONString()裝換為字符串格式,字符串可以用parseJSON()轉換成js對象。
訪問數據
只需用點號表示法來表示數組元素。所以,要想訪問 上面peoples列表的第一個條目的名字,只需在 JavaScript 中使用下面這樣的代碼:
peoples[0].name
利用這樣的語法,可以處理任何 JSON 格式的數據,而不需要使用任何額外的 JavaScript 工具包或 API。
修改數據
正如可以用點號和方括號訪問數據,也可以按照同樣的方式輕鬆地修改數據:
peoples[0].name = “Rachmaninov”;
在將字符串轉換為 JavaScript 對象之後,就可以像這樣修改變量中的數據。
java中json怎麼運用?
json一般都是配合ajax一起使用的 我做做過的小例子 粘給你 你可以研究一下
js部分
//獲取卡的金額
function get_money(){
var str=document.getElementById(“pk_card_type”).value;
//alert(str);
var url = ‘/member_h.do’;
var pars = ‘method=getMoney’;
pars+=’pk_card_type=’+str;
var ajax = new Ajax.Request(
url,
{method:’post’,parameters:pars,onComplete:show_money}
);
}
//回調函數 寫入卡的金額
function show_money(dataResponse)
{
var data = eval(‘(‘ + dataResponse.responseText + ‘)’);
var price=0;
price=data.price;
var collection_fees=0;
collection_fees=data.collection_fees;
document.getElementById(“recharge”).value=price;
document.getElementById(“collection_fees”).value=collection_fees;
}
action部分
public ActionForward getMoney(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
response.setContentType(“text/html; charset=utf-8”);
try {
IElementaryFileService ggsv = new ElementaryFileService();
String pk_card_type = request.getParameter(“pk_card_type”);
Card_TypeVO ctvo=new Card_TypeVO();
ctvo=ggsv.queryByPK(Card_TypeVO.class, pk_card_type);
PrintWriter out = response.getWriter();
// 這裡的數據拼裝一般是從數據庫查詢來的
JSONObject jsonObject = new JSONObject();
if(ctvo!=null){
jsonObject.put(“price”, ctvo.getCard_money());
jsonObject.put(“collection_fees”, ctvo.getCash());
}else{
jsonObject.put(“price”, 0);
jsonObject.put(“collection_fees”, 0);
}
out.print(jsonObject.toString());
out.flush();
out.close();
return null;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
JAVA工作流框架哪個比較好?
Activiti、JBPM、JBoss Seam、XJR java快速開發平台
Activiti是由jBPM 的創建Tom Baeyen離JBoss之後建立的項目,構建在開發 jBPM 版本1到4時積累的多年經驗的基礎之上,旨在創建下一代的 BPM 解決方案。文檔豐富,csdn有相應專欄,並且國人貢獻了一本《activiti實戰》詳細的講解了基於activiti的開發內容,網上教程資源豐富。Activiti上手比較快,界面也比較簡潔、直觀,學習周期相對較短。官方提供webapp war包,部署在Tomcat下可快速操作和了解activiti,esclipse提供支持activiti項目的ide插件,總的來說環境支持良好。
代碼量大,核心代碼改動難度較大,但提供了完整的技術文檔,架構良好,網上開發文檔較多,一定上降低了二次開發的難度。
支持,用戶體驗好,但是流程設計器是英文版,還需要漢化。
支持多種表單:動態表單,外置表單,普通表單,但表單設計未集成,需要自己集成表單設計。
支持絕大部分工作流功能,符合中國國情的審批流程需要在此基礎上進行開發。
JBPM(Java Business Process Management):JAVA業務流程管理,是一個可擴展、靈活、開源的流程引擎, 它可以運行在獨立的服務器上或者嵌入任何Java應用中。
1、jBPM3是一個完整的工作流系統實現,面向開發人員,目的在於簡化對組織核心流程進行支撐的軟件創建,不支持標準。
2、jBPM4引入PVM,使其擁有更強大的擴展性,同時增加BPMS特性,這些特性包括了對BPMN的支持、面向業務人員的Web建模器和簡單統計分析功能的加入。
3、jBPM5基於原先的Drools Flow,支持BPMN,通過與Drools的合併支持BAM,通過內容倉庫增加對流程可視化的支持。由於放棄了jBPM4的PVM,引擎的可擴展性受到損害,並且不再支持jPDL。
JBoss Seam,算得上是Java開源框架裡面最優秀的快速開發框架之一。
Seam是一個很棒的選擇,作為程序員來說,要比用 Spring/Hibernate/Struts省心的多,更能夠把精力放在業務邏輯的編寫上面,開發效率也很不錯,可能是Java開源框架裡面最優秀的快速開發框架之一了。
Activti的學習價值比較高,是工作流入門的好教材,可以學習裡面好的代碼風格和思路。Activiti最大的優點就是免費開源,小項目中應用簡單的串行並行流轉基本能滿足需求。現在很多開發人員會選擇它。但是要拿Activiti做到中國式的企業級應用門檻和難度很高。想用Activiti來做符合中國國情的審批流程,其實還需要做大量的開發封裝。接下來介紹一款基於Activiti擴展的工作流引擎。
XJR java快速開發框架工作流程引擎:採用主流的Activiti工作流引擎,遵循bpmn規範,可實現XML、Json一鍵導入導出,以及添加了人員動態選擇、便捷式會簽設置、便捷式任務委託設置、添加自定義表單、自定義節點按鈕、動態變量選擇(包括會簽變量、按鈕變量、表單變量)以及各節點屬性優化,遵循以客戶為中心的優化原則,將整個流程的操作變得簡單、快捷,實現0基礎客戶短時間可自由編輯流程模板。
XJR快速開發平台技術選型
使用目前流行的多種web技術,包括springboot, JPA,Druid, Activiti,Lombok,swagger,poi,WebSocket,Jquery,BootStrap, maven,Jenkins 等等,支持多種數據庫MySQL, Oracle, sqlserver等。 分層設計:使用分層設計,分為dao,service,Controller,view層,層次清楚,低耦合,高內聚。 安全考慮:嚴格遵循了web安全的規範,前後台雙重驗證,參數編碼傳輸,密碼md5加密存儲,shiro權限驗證,從根本上避免了SQL注入,XSS攻擊,CSRF攻擊等常見的web攻擊手段。
模塊功能
功能模塊:開發嚮導、代碼 生成器,商業智能、工作流、報表管理、移動端開發、作業計劃、多語言、數據源管理、企業微信、釘釘、消息管理,菜單 管理,用戶管理,機構管理,角色管理,區域管理,字典管理,日誌查詢等基礎模塊。
java 如何解析JSON
一、JSON(JavaScriptObjectNotation)一種簡單的數據格式,比xml更輕巧。Json建構於兩種結構:1、“名稱/值”對的集合(Acollectionofname/valuepairs)。不同的語言中,它被理解為對象(object),紀錄(record),結構(struct),字典(dictionary),哈希表(hashtable),有鍵列表(keyedlist),或者關聯數組(associativearray)。如:{“name”:”jackson”,“age”:100}2、值的有序列表(Anorderedlistofvalues)。在大部分語言中,它被理解為數組(array)如:{“students”:[{“name”:”jackson”,“age”:100},{“name”:”michael”,”age”:51}]}二、java解析JSON步驟A、服務器端將數據轉換成json字符串首先、服務器端項目要導入json的jar包和json所依賴的jar包至builtPath路徑下(這些可以到JSON-lib官網下載:)然後將數據轉為json字符串,核心函數是:publicstaticStringcreateJsonString(Stringkey,Objectvalue){JSONObjectjsonObject=newJSONObject();jsonObject.put(key,value);returnjsonObject.toString();}B、客戶端將json字符串轉換為相應的javaBean1、客戶端獲取json字符串(因為android項目中已經集成了json的jar包所以這裡無需導入)publicclassHttpUtil{publicstaticStringgetJsonContent(StringurlStr){try{//獲取HttpURLConnection連接對象URLurl=newURL(urlStr);HttpURLConnectionhttpConn=(HttpURLConnection)url.openConnection();//設置連接屬性httpConn.setConnectTimeout(3000);httpConn.setDoInput(true);httpConn.setRequestMethod(“GET”);//獲取相應碼intrespCode=httpConn.getResponseCode();if(respCode==200){returnConvertStream2Json(httpConn.getInputStream());}}catch(MalformedURLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}return””;}privatestaticStringConvertStream2Json(InputStreaminputStream){StringjsonStr=””;//ByteArrayOutputStream相當於內存輸出流ByteArrayOutputStreamout=newByteArrayOutputStream();byte[]buffer=newbyte[1024];intlen=0;//將輸入流轉移到內存輸出流中try{while((len=inputStream.read(buffer,0,buffer.length))!=-1){out.write(buffer,0,len);}//將內存流轉換為字符串jsonStr=newString(out.toByteArray());}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnjsonStr;}}2、獲取javaBeanpublicstaticPersongetPerson(StringjsonStr){Personperson=newPerson();try{//將json字符串轉換為json對象JSONObjectjsonObj=newJSONObject(jsonStr);//得到指定jsonkey對象的value對象JSONObjectpersonObj=jsonObj.getJSONObject(“person”);//獲取之對象的所有屬性person.setId(personObj.getInt(“id”));person.setName(personObj.getString(“name”));person.setAddress(personObj.getString(“address”));}catch(JSONExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnperson;}publicstaticListgetPersons(StringjsonStr){Listlist=newArrayList();JSONObjectjsonObj;try{//將json字符串轉換為json對象jsonObj=newJSONObject(jsonStr);//得到指定jsonkey對象的value對象JSONArraypersonList=jsonObj.getJSONArray(“persons”);//遍歷jsonArrayfor(inti=0;i
java的IO流怎麼發送json? 請具體分步哦,打好了有懸賞。
首先封裝的數據,MAP/String/XML等等格式。舉個例子
String putData = “這是我要發送的數據”;
JSONObject json= new JSONObject();
json.put(“datas”,putData);
PrintWriter out = response.getWriter();
out.println(json.toString());
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/160975.html