本文目錄一覽:
- 1、java對象怎麼轉json數組
- 2、json.parseobject()的set方法設置順序
- 3、JAVA對象轉JSON 除了下面的方法 還有什麼方法???
- 4、java 怎麼將對象轉換成json字元串
- 5、如何將Java對象轉換成json格式,如何將json格式數據轉換成js對象
- 6、java 怎麼把對象集合轉換成json
java對象怎麼轉json數組
JSON-lib這個Java類包用於把bean,map和XML轉換成JSON並能夠把JSON轉回成bean和DynaBean。
下載地址:
還要需要的第3方包:
org.apache.commons(3.2以上版本)
org.apache.oro
net.sf.ezmorph(ezmorph-1.0.4.jar)
nu.xom
1、List
Java代碼
boolean[] boolArray =newboolean[]{true,false,true};
JSONArray jsonArray1 = JSONArray.fromObject( boolArray );
System.out.println( jsonArray1 );
// prints [true,false,true]
List list =newArrayList();
list.add(“first”);
list.add(“second”);
JSONArray jsonArray2 = JSONArray.fromObject( list );
System.out.println( jsonArray2 );
// prints [“first”,”second”]
JSONArray jsonArray3 = JSONArray.fromObject(“[‘json’,’is’,’easy’]”);
System.out.println( jsonArray3 );
// prints [“json”,”is”,”easy”]
2、Map
Java代碼
Map map =newHashMap();
map.put(“name”,”json”);
map.put(“bool”, Boolean.TRUE );
map.put(“int”,newInteger(1) );
map.put(“arr”,newString[]{“a”,”b”} );
map.put(“func”,”function(i){ return this.arr[i]; }”);
JSONObject json = JSONObject.fromObject( map );
System.out.println( json );
//{“func”:function(i){ return this.arr[i]; },”arr”:[“a”,”b”],”int”:1,”name”:”json”,”bool”:true}
3、BEAN
Java代碼
/**
* Bean.java
private String name = “json”;
private int pojoId = 1;
private char[] ptions = new char[]{‘a’,’f’};
private String func1 = “function(i){ return this.options[i]; }”;
private JSONFunction func2 = new JSONFunction(new String[]{“i”},”return this.options[i];”);
*/
JSONObject jsonObject = JSONObject.fromObject(newJsonBean() );
System.out.println( jsonObject );
//{“func1″:function(i){ return this.options[i]; },”pojoId”:1,”name”:”json”,”options”:[“a”,”f”],”func2″:function(i){ return this.options[i]; }}
4、BEANS
Java代碼
/**
* private int row ;
private int col ;
private String value ;
*
*/
List list =newArrayList();
JsonBean2 jb1 =newJsonBean2();
jb1.setCol(1);
jb1.setRow(1);
jb1.setValue(“xx”);
JsonBean2 jb2 =newJsonBean2();
jb2.setCol(2);
jb2.setRow(2);
jb2.setValue(“”);
list.add(jb1);
list.add(jb2);
JSONArray ja = JSONArray.fromObject(list);
System.out.println( ja.toString() );
//[{“value”:”xx”,”row”:1,”col”:1},{“value”:””,”row”:2,”col”:2}]
5、String to bean
Java代碼
String json =”{name=\”json\”,bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}”;
JSONObject jsonObject = JSONObject.fromString(json);
Object bean = JSONObject.toBean( jsonObject );
assertEquals( jsonObject.get(“name”), PropertyUtils.getProperty( bean,”name”) );
assertEquals( jsonObject.get(“bool”), PropertyUtils.getProperty( bean,”bool”) );
assertEquals( jsonObject.get(“int”), PropertyUtils.getProperty( bean,”int”) );
assertEquals( jsonObject.get(“double”), PropertyUtils.getProperty( bean,”double”) );
assertEquals( jsonObject.get(“func”), PropertyUtils.getProperty( bean,”func”) );
List expected = JSONArray.toList( jsonObject.getJSONArray(“array”) );
assertEquals( expected, (List) PropertyUtils.getProperty( bean,”array”) );
Java代碼
String json =”{\”value\”:\”xx\”,\”row\”:1,\”col\”:1}”;
JSONObject jsonObject = JSONObject.fromString(json);
JsonBean2 bean = (JsonBean2) JSONObject.toBean( jsonObject, JsonBean2.class);
assertEquals( jsonObject.get(“col”),newInteger( bean.getCol()) );
assertEquals( jsonObject.get(“row”),newInteger( bean.getRow() ) );
assertEquals( jsonObject.get(“value”), bean.getValue() );
6 json to xml
1)
JSONObject json = new JSONObject( true );
String xml = XMLSerializer.write( json );
o class=”object” null=”true”
2)
JSONObject json = JSONObject.fromObject(“{\”name\”:\”json\”,\”bool\”:true,\”int\”:1}”);
String xml = XMLSerializer.write( json );
o class=”object”
name type=”string”json/name
bool type=”boolean”true/bool
int type=”number”1/int
/o
o class=”object”
name type=”string”json/name
bool type=”boolean”true/bool
int type=”number”1/int
/o
3)
JSONArray json = JSONArray.fromObject(“[1,2,3]”);
String xml = XMLSerializer.write( json );
a class=”array”
e type=”number”1/e
e type=”number”2/e
e type=”number”3/e
/a
7 、xml to json
a class=”array”
e type=”function” params=”i,j”
return matrix[i][j];
/e
/a
a class=”array”
e type=”function” params=”i,j”
return matrix[i][j];
/e
/a
JSONArray json = (JSONArray) XMLSerializer.read( xml );
System.out.println( json );
// prints [function(i,j){ return matrix[i][j]; }]
json.parseobject()的set方法設置順序
取出資料庫中的字元串通過前端的JSON.parse(str)遍歷顯示key,value值。到此一個新的要求是要顯示的順序和資料庫中保持一致,通過JSON.parse()通常會按照key排序。所以使用JSON.parse失敗。
只能手動獲取字元串中的key,value值,最好的方式是採用正則,不然也可以採用 replace,replaceALl,split等方法逐步分割在回到如果不需要保持順序的情況下,使用JSON.parse()遇到了拋出異常的問題,一看資料庫中的內容,發現並不是標準的JSON格式,比如這段{name:「張三」,age:12},此時使用JSON.parse便會拋出異常,所以需要改為{「name」:「張三」,age:12} 解決的思路是前端給該字元串補全雙引號,不過也可以用JAVA。
思路是通過fastjson庫將字元串轉換為JSON對象,在轉回JSON字元串。這裡利用了fastjson對JSON格式要求不嚴格
在使用fastjson直接將字元串轉為JSON對象後在轉換回JSON字元串,順序將保證不了。修改代碼這裡僅僅對key,value形式,key不帶雙引號的,value僅僅是字元串(也僅帶特殊符號”:”)的處理,對於嵌套的JSON格式或者value值為時間,數字,其它轉義特殊符號還考慮。還有些地方需要完善。
JAVA對象轉JSON 除了下面的方法 還有什麼方法???
用對象接挺好呀,springboot 或 spring mvc不都是用json返回對象的嗎。
我去,你用的這個net.sf.json,這個序列化規則可能就是這樣的。
我上面用的alibaba的JSON。
java 怎麼將對象轉換成json字元串
可以使用jackson的 new ObjectMapper().readValue(String, bean.class);
或者使用 JSONObject.toBean(String,bean.class);
都可以實現json轉化為bean
而 jackson 或者 JSONObject 的jar包網上均有下載,把下載的jar導入你的項目中即可。
如何將Java對象轉換成json格式,如何將json格式數據轉換成js對象
開始看網上關於json的例子程序段,實驗了一把發現結果和網上例子程序的結果不一致,後來發現使用json需要導入的jar包不全,只導入json-lib-2.2.2-jdk15.jar ,還需以下幾個包:commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-lang.jar
commons-logging-1.1.jar
ezmorph-1.0.4.jar
這時在測試得到了想要的結果
Question q2 = new Question();
q2.setId(2);
q2.setDescription(“descrsssss”);
q2.setPointInfo(“pointkkkk”);
q2.setType(3);
Question q1 = new Question();
q1.setId(1);
q1.setDescription(“descrsssss”);
q1.setPointInfo(“pointkkkk”);
q1.setType(3);
JSONObject jsonObject = new JSONObject().fromObject(q2);
System.out.println(jsonObject);
List list = new ArrayList();
list.add(q1);
list.add(q2);
JSONArray jsonArr= JSONArray.fromObject(list);
System.out.println(jsonArr);
輸出:{“description”:”descrsssss”,”id”:2,”pointInfo”:”pointkkkk”,”type”:3}
[{“description”:”descrsssss”,”id”:1,”pointInfo”:”pointkkkk”,”type”:3},{“description”:”descrsssss”,”id”:2,”pointInfo”:”pointkkkk”,”type”:3}]頁面
$.post(“showQuestions?type=”+type,null,callbackShowQuestions,”json”);
這時在回調函數的參數data獲得的就是json轉換後的js對象數組,
以下標方式便可訪問數組裡的相應對象信息。
java 怎麼把對象集合轉換成json
有兩種情況:第一使用外部工具包jackson-mapper-asl.Jar包,這裡有一個方法
writeValueAsString(listmapString,Objcet);屬於這包中的ObjectMapper類直接把list對象轉換成字元串(json格式就是一個字元串,大家都知道的),然後在jsp端都不需要解析了直接就能接受到信息。
第二種:下載谷歌的GSON包裡面就有很多方法用來把list編程json在jsp端用一個插件jquery的json方法就可以接收了
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/245307.html