導航:首頁 > 編程語言 > json語言註解怎麼加

json語言註解怎麼加

發布時間:2023-07-11 07:48:23

1. 請求參數是json springmvc 怎麼註解

解決方案:
類似於之前寫的《擴展SpringMVC以支持更精準的數據綁定》,擴展spring的HandlerMethodArgumentResolver以支持自定義的數據綁定方式。

1、請下載附件的代碼,放到工程中;
2、在RequestMappingHandlerAdapter添加自定義HandlerMethodArgumentResolver Bean;
java代碼
<span style="font-size: x-small;"> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<!--線程安全的訪問session-->
<property name="synchronizeOnSession" value="true"/>
<property name="customArgumentResolvers">
<list>
<bean class="cn.javass.spring.mvc.method.annotation."/>
<bean class="cn.javass.spring.mvc.method.annotation."/>
</list>
</property>
</bean> </span>
//customArgumentResolvers用於注入自定義的參數解析器,此處我們注入了。
3、使用方式
Java代碼
<span style="font-size: x-small;">@RequestMapping("/list")
public String list(@RequestJsonParam("list") List<Integer> list) </span>

4、測試控制器
Java代碼
<span style="font-size: x-small;">package cn.javass.chapter6.web.controller.jsonparam;

import java.util.Arrays;
import java.util.List;
import java.util.Set;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import cn.javass.chapter6.model.DataBinderTestModel;
import cn.javass.chapter6.model.UserModel;
import cn.javass.spring.mvc.bind.annotation.RequestJsonParam;
import cn.javass.spring.mvc.util.MapWapper;

@Controller
@RequestMapping("/jsonparam")
public class JsonParamController {

//ok http://localhost:9080/springmvc-chapter6/jsonparam/list?list=[1,2,34]
//fail http://localhost:9080/springmvc-chapter6/jsonparam/list?list=[1,2,a]
@RequestMapping("/list")
public String list(@RequestJsonParam("list") List<Integer> list) {
System.out.println(list);
return "redirect:/success";
}

//ok http://localhost:9080/springmvc-chapter6/jsonparam/set?set=[1,2,34]
//fail http://localhost:9080/springmvc-chapter6/jsonparam/set?set=[1,2,a]
@RequestMapping("/set")
public String set(@RequestJsonParam("set") Set<Integer> set) {
System.out.println(set);
return "redirect:/success";
}

//ok http://localhost:9080/springmvc-chapter6/jsonparam/array?array=[1,2,3]
//fail http://localhost:9080/springmvc-chapter6/jsonparam/array?array=[1,2,a]
@RequestMapping("/array")
public String list(@RequestJsonParam("array") int[] array) {
System.out.println(Arrays.toString(array));
return "redirect:/success";
}

//ok http://localhost:9080/springmvc-chapter6/jsonparam/map?map={"a":1, "b":2}
//fail http://localhost:9080/springmvc-chapter6/jsonparam/map?map={"a":1, "b":a}
@RequestMapping("/map")
public String map(@RequestJsonParam(value = "map", required=false) MapWapper<String, Integer> map) {
System.out.println(map);
return "redirect:/success";
}

//UserModel[]
//ok http://localhost:9080/springmvc-chapter6/jsonparam/array2?array=[{"username":"123"},{"username":"234"}]
@RequestMapping("/array2")
public String array2(@RequestJsonParam(value = "array") UserModel[] array) {
System.out.println(Arrays.toString(array));
return "redirect:/success";
}

//List<UserModel>
//ok http://localhost:9080/springmvc-chapter6/jsonparam/list2?list=[{"username":"123"},{"username":"234"}]
@RequestMapping("/list2")
public String list2(@RequestJsonParam(value = "list") List<UserModel> list) {
System.out.println(list);
return "redirect:/success";
}

//Set<UserModel>
//ok http://localhost:9080/springmvc-chapter6/jsonparam/set2?set=[{"username":"123"},{"username":"234"}]
@RequestMapping("/set2")
public String set2(@RequestJsonParam(value = "set") Set<UserModel> set) {
System.out.println(set);
return "redirect:/success";
}

//Map<String, UserModel>
//ok http://localhost:9080/springmvc-chapter6/jsonparam/map2?map={"a":{"username":"123"},"b":{"username":"234"}}
//暫不支持 Map<UserModel, UserModel>
@RequestMapping("/map2")
public String map2(@RequestJsonParam(value = "map") MapWapper<String, UserModel> map) {
System.out.println(map);
return "redirect:/success";
}

//ok http://localhost:9080/springmvc-chapter6/jsonparam/model1?model={"username":123,"password":234,"realname":"zhang","workInfo":{"city":"abc","job":"abc","year":"abc"}, "schoolInfo":{"schoolType":"1","schoolName":"1","specialty":"1"}}
//沒有realname1
//fail http://localhost:9080/springmvc-chapter6/jsonparam/model1?model={"username":123,"password":234,"realname1":123}
@RequestMapping("/model1")
public String model1(@RequestJsonParam(value = "model", required=true) UserModel user) {
System.out.println(user);
return "redirect:/success";
}

//ENUM
//ok http://localhost:9080/springmvc-chapter6/jsonparam/model2?model={"state":"normal"}
//List<基本類型>
//ok http://localhost:9080/springmvc-chapter6/jsonparam/model2?model={"hobbyList":["film", "music"]}
//Map<基本類型,基本類型>
//ok http://localhost:9080/springmvc-chapter6/jsonparam/model2?model={"map":{"key":"value", "a":"b"}}
@RequestMapping("/model2")
public String model2(@RequestJsonParam(value = "model", required=true) DataBinderTestModel model) {
System.out.println(model);
return "redirect:/success";
}

//List<UserModel>
//ok http://localhost:9080/springmvc-chapter6/jsonparam/model3?model={"userList":[{"username":"1"},{"username":"2"}]}
//Map<String,UserModel>
//ok http://localhost:9080/springmvc-chapter6/jsonparam/model3?model={"userMap":{"1":{"username":"1"},"2":{"username":"2"}}}

//暫不支持 類似於 Map<UserModel, UserModel> 形式
@RequestMapping("/model3")
public String model3(@RequestJsonParam(value = "model") DataBinderTestModel model) {
System.out.println(model);
return "redirect:/success";
}

}
</span>

支持的spring版本
springmvc 3.0 和 3.1.x。

支持綁定的數據:
模型、集合、數組、MapWapper(Map的一個包裝器,通過getInnerMap獲取真實Map)

2. Json文件如何加註釋

嚴格地說,JSON文件包含僅僅是數據,不能包含向編程語言中那樣的注釋。但是,有變通的在內JSON文件中加容「注釋」,那就在JSON中增加一個充當注釋的數據元素。例如

如果有必要,在JSON數據說明文檔告訴使用此JSON數據的客戶端:在解析數據時忽略"comment"數據元素。

3. json文件用什麼注釋

在 JSON 標准規范中是沒有「注釋」這個標準的,如果需要添加註釋,你可以選擇使用 jsonc(JSON with Comment) 標准。

JSONCis a superset ofJSONwhich supportscomments.

不過實際上大多數編輯器都支持解析 .json 格式的文件中包含 // 注釋內容。

閱讀全文

與json語言註解怎麼加相關的資料

熱點內容
如何從數控編程小白到大師 瀏覽:183
更改微信共享實時位置信息 瀏覽:13
js姓名正則 瀏覽:843
如何利用串口傳輸文件夾 瀏覽:346
jca文件怎麼用word打開 瀏覽:965
U盤文件木馬隱藏exe工具 瀏覽:152
下載優酷app視頻播放器安裝 瀏覽:38
兩個excel文件不同 瀏覽:585
如何更新網站內容 瀏覽:953
什麼網站下載廣場舞是免費的 瀏覽:307
西門子編程軟體怎麼變成中文 瀏覽:984
居客來wifi密碼 瀏覽:604
文件為何為空linux 瀏覽:630
美劇鳥app安裝包在手機哪裡 瀏覽:985
蘋果5s16g升級ios103 瀏覽:850
word紅頭文件中怎麼加雙線 瀏覽:825
切割機用什麼編程 瀏覽:787
文件修訂題目 瀏覽:572
魅族pro5自帶瀏覽器怎麼升級 瀏覽:342
為什麼用數據還是載入慢 瀏覽:171

友情鏈接