本文目录一览:
- 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方法就可以接收了