json-lib-user Mailing List for Json-lib (Page 12)
Brought to you by:
aalmiray
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(6) |
Sep
(5) |
Oct
(1) |
Nov
(7) |
Dec
(5) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(4) |
Feb
(5) |
Mar
(1) |
Apr
|
May
(11) |
Jun
(3) |
Jul
(12) |
Aug
(4) |
Sep
(8) |
Oct
(11) |
Nov
(7) |
Dec
(30) |
2008 |
Jan
(11) |
Feb
(15) |
Mar
(8) |
Apr
|
May
(9) |
Jun
(21) |
Jul
(1) |
Aug
(4) |
Sep
(1) |
Oct
|
Nov
(3) |
Dec
(8) |
2009 |
Jan
(6) |
Feb
(1) |
Mar
(3) |
Apr
(5) |
May
(10) |
Jun
(3) |
Jul
(1) |
Aug
|
Sep
(4) |
Oct
(1) |
Nov
(1) |
Dec
(1) |
2010 |
Jan
|
Feb
(2) |
Mar
(2) |
Apr
(3) |
May
(5) |
Jun
(1) |
Jul
|
Aug
(4) |
Sep
|
Oct
(1) |
Nov
(4) |
Dec
|
2011 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(8) |
Dec
|
2012 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
(1) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2014 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Frederick P. <fpo...@po...> - 2006-09-06 19:04:50
|
Greetings, There is a bug in the implementation of toBean() for non-DynaBeans, where for any non-primitive property, setting to null always attempts a (Map) cast (JSONObject.java, line 396), which fails abruptly with a ClassCastException. Changing && to || (line 392) fixes this -- though it doesn't technically set it to null, as it perhaps should. But I haven't investigated the utility enough to understand the ramifications of doing this. Fred |
From: Andres A. <aal...@ya...> - 2006-09-06 16:20:15
|
Hmmm, you are right I should elaborate more on this feature, the docs will be updated in a couple of days, but in the meantime here is the scoop: Supouse you have a bean with a List attribute and a Person bean like class MyBean{ private List data; // getters & setters } class Person{ private String name; // getters & setters } With the following JSON String "{'data':[{'name':'Wallace'},{'name':'Grommit'}]}" how do you create populate the 'data' aatribute if you have no idea which type of object must bea created ? String json = "{'data':[{'name':'Wallace'},{'name':'Grommit'}]}"; MyBean bean = JSONObject.toBean( json, MyBean.class ); This yields a MyBean instance that has DynaBeans inside the 'data' attribute', so now comes the part of postprocessing, this can be done with an Iterator Morpher dynaMorpher = new DynaBeanToBeanMorpher( Person.class, JSONUtils.getMorpherRegistry() ); morpherRegistry.registerMorpher( dynaMorpher ); List output = new ArrayList(); for( Iterator i = bean.getData().iterator(); i.hasNext(); ){ output.add( morpherRegistry.morph( Person.class, i.next() ) ); } bean.setData( output ); Regards. --- Fogas László <las...@in...> escribió: > Hi, > > In the project webpage there is so few information > about how to use toBean > method with lists.. > > The second case is similar and it happens when the > target bean has a > Collection (List) as a property and it must contain > other beans. In this > case there is no way to provide hints for class > conversion. The only > possible solution is to postprocess the collection > transforming each > DynaBean into an specific bean. > > To ease the postprocessing scenarios, Json-lib has a > Morpher capable of > transforming a DynaBean into an specific bean, > <http://json-lib.sourceforge.net/apidocs/net/sf/json/util/DynaBeanToBeanMorp > her.html> DynaBeanToBeanMorpher > > Could you give me some samples? > > Regards, Lazlo > ------------------------------------------- Ing. Andres Almiray Jaramillo http://jroller.com/page/aalmiray -- What goes up, must come down. Ask any system administrator. There are 10 types of people in the world: Those who understand binary, and those who don't. To understand recursion, we must first understand recursion. ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y <b >2GB</b> extra a tu correo por $100 al mes. http://net.yahoo.com.mx |
From: <las...@in...> - 2006-09-06 14:50:35
|
Hi, =20 In the project webpage there is so few information about how to use = toBean method with lists.. =84The second case is similar and it happens when the target bean has a Collection (List) as a property and it must contain other beans. In this case there is no way to provide hints for class conversion. The only possible solution is to postprocess the collection transforming each DynaBean into an specific bean.=20 To ease the postprocessing scenarios, Json-lib has a Morpher capable of transforming a DynaBean into an specific bean, <http://json-lib.sourceforge.net/apidocs/net/sf/json/util/DynaBeanToBeanM= orp her.html> DynaBeanToBeanMorpher=20 =94 =20 Could you give me some samples? =20 Regards, Lazlo =20 |
From: Andres A. <aal...@ya...> - 2006-08-29 18:05:05
|
Dear Json-lib users, I'm pleased to announce that json-lib version 0.8 has been released. Changelog: Additions: + Refactored converter package into EZMorph (http://ezmorph.sourceforge.net). + Added RegexpUtils for easy regexp handling. + Added more tests. Updates: + Updated "Getting Started" documentation. + Moved RegexpMatchers to package net.sf.json.regexp Fixes: 1543117 Perl5RegexpMatcher is missing a return statement. 1542104 JSONObject.toBean must handle interfaces. 1542092 JSONObject.toBean can not process all nested beans. 1540196 JSONArray did not create multidimensional arrays correctly. 1540137 JSONObject's fromObject() and fromBean() did not support DynaBeans properly. 1538330 XmlSerializer writes wrong JSONFunction data. 1538095 JSONObject.fromObject() does not work properly when passed a boolean as parameter in JVM 1.5+ ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y <b >2GB</b> extra a tu correo por $100 al mes. http://net.yahoo.com.mx |
From: Andres A. <aal...@ya...> - 2006-08-16 19:48:51
|
--- Fogas László <las...@we...> escribió: > Hi, > > I made a solution, but not with PropertyDescriptors, > but with standard > reflection. > My question is that how can I turn on the order > using PropertyDescriptors? I don't quite follow you here. > My solution is perfect for me, I'm just curios. > (Other thing is that you are > prefering 3rd party lib instead of java core because > of the compatibility > with former java versions?) Yes, because the lib has to be JDK 1.3.1 compatible. I assume you have noticed the JdkRegexpMatcher and the Perl5RegexpMatcher and the use of StringUtils.split(). ------------------------------------------- Ing. Andres Almiray Jaramillo http://jroller.com/page/aalmiray -- What goes up, must come down. Ask any system administrator. There are 10 types of people in the world: Those who understand binary, and those who don't. To understand recursion, we must first understand recursion. __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.com.mx/ |
From: <las...@we...> - 2006-08-16 18:34:44
|
Hi, I made a solution, but not with PropertyDescriptors, but with standard reflection. My question is that how can I turn on the order using = PropertyDescriptors? My solution is perfect for me, I'm just curios. (Other thing is that you = are prefering 3rd party lib instead of java core because of the = compatibility with former java versions?) Lazlo -----Eredeti =FCzenet----- Felad=F3: Andres Almiray [mailto:aal...@ya...]=20 K=FCldve: 2006. augusztus 16. 16:02 C=EDmzett: Fogas L=E1szl=F3; jso...@li... T=E1rgy: Re: [json-lib-user] fromBean - field order Hi Lazlo, You are correct, according to the spec: "An object is an unordered set of name/value pairs." Its possible to change the lib and let it keep record of the insertion order, but it wont be using LinkedHashMap, as that class was introduced in JDK 1.4. Two solutions are available: a) use commons.collection's LinkedMap b) home grown Map that preservers order insertion For option a) a new dependency must be introduced. For option b) the DRY concept applies. Once the storage is solved, we can turn on the order of which PropertyDescriptors are obtained. --- Fogas L=E1szl=F3 <las...@we...> escribi=F3: > Hi, >=20 > =20 >=20 > I=92m using the JSONObject.fromBean() method and i > notified, that =96 as the > JSON specification =96 in an object the lib messes up > the declared field > order. >=20 > It=92s ok for the spec, but not for me. I modded the > code (use LinkedHashMap > instead of simple HashMap to take care of the field > order) The filed order > in the json text now almost the same as in my bean, > but my problem is, that > the common beanutils propertydescriptor stores the > fields in =84abc=94 order.=20 >=20 > =20 >=20 > Is there any ready solution for my purpose, or i > should change the way that > jsonlib uses reflection. Because > class.getDeclaredFields(); method gives > back the declared field order. But if there any > working solution now, I > don=92t want to reinvent the wheel. >=20 > =20 >=20 > Thanks, Lazlo >=20 ------------------------------------------- Ing. Andres Almiray Jaramillo http://jroller.com/page/aalmiray -- What goes up, must come down. Ask any system administrator. There are 10 types of people in the world: Those who understand binary, = and those who don't. To understand recursion, we must first understand recursion. __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam =A1gratis!=20 Reg=EDstrate ya - http://correo.yahoo.com.mx/=20 |
From: Andres A. <aal...@ya...> - 2006-08-16 14:02:22
|
Hi Lazlo, You are correct, according to the spec: "An object is an unordered set of name/value pairs." Its possible to change the lib and let it keep record of the insertion order, but it wont be using LinkedHashMap, as that class was introduced in JDK 1.4. Two solutions are available: a) use commons.collection's LinkedMap b) home grown Map that preservers order insertion For option a) a new dependency must be introduced. For option b) the DRY concept applies. Once the storage is solved, we can turn on the order of which PropertyDescriptors are obtained. --- Fogas László <las...@we...> escribió: > Hi, > > > > Im using the JSONObject.fromBean() method and i > notified, that as the > JSON specification in an object the lib messes up > the declared field > order. > > Its ok for the spec, but not for me. I modded the > code (use LinkedHashMap > instead of simple HashMap to take care of the field > order) The filed order > in the json text now almost the same as in my bean, > but my problem is, that > the common beanutils propertydescriptor stores the > fields in abc order. > > > > Is there any ready solution for my purpose, or i > should change the way that > jsonlib uses reflection. Because > class.getDeclaredFields(); method gives > back the declared field order. But if there any > working solution now, I > dont want to reinvent the wheel. > > > > Thanks, Lazlo > ------------------------------------------- Ing. Andres Almiray Jaramillo http://jroller.com/page/aalmiray -- What goes up, must come down. Ask any system administrator. There are 10 types of people in the world: Those who understand binary, and those who don't. To understand recursion, we must first understand recursion. __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.com.mx/ |
From: <las...@we...> - 2006-08-16 10:56:50
|
Hi, =20 I=92m using the JSONObject.fromBean() method and i notified, that =96 as = the JSON specification =96 in an object the lib messes up the declared field order. It=92s ok for the spec, but not for me. I modded the code (use = LinkedHashMap instead of simple HashMap to take care of the field order) The filed = order in the json text now almost the same as in my bean, but my problem is, = that the common beanutils propertydescriptor stores the fields in =84abc=94 = order.=20 =20 Is there any ready solution for my purpose, or i should change the way = that jsonlib uses reflection. Because class.getDeclaredFields(); method gives back the declared field order. But if there any working solution now, I don=92t want to reinvent the wheel. =20 Thanks, Lazlo =20 |
From: <las...@in...> - 2006-08-16 10:42:09
|
Hi, =20 I=92m using the JSONObject.fromBean() method and i notified, that =96 as = the JSON specification =96 in an object the lib messes up the declared field order. It=92s ok for the spec, but not for me. I modded the code (use = LinkedHashMap instead of simple HashMap to take care of the field order) The filed = order in the json text now almost the same as in my bean, but my problem is, = that the common beanutils propertydescriptor stores the fields in =84abc=94 = order.=20 =20 Is there any ready solution for my purpose, or i should change the way = that jsonlib uses reflection. Because class.getDeclaredFields(); method gives back the declared field order. But if there any working solution now, I don=92t want to reinvent the wheel. =20 Thanks, Lazlo |
From: zhang x. <zha...@gm...> - 2006-07-28 20:25:13
|
When i use JSONObject.fromObject() as this: class Bean { public String getName() { return "bean[name]"; } public String[] getArray() { String[] array = new String[3]; array[0] = "bean[array][0]"; array[1] = "bean[array][1]"; array[2] = "bean[array][2]"; return array; } } .... JSONObject json; json = JSONObject.fromObject(new Bean()); System.out.println(json.toString(2)); ... and a "{}" was printed and i expected a string such as "{name: 'bean[name]', array:['bean[array][0]', ...]}", is there any misunderstand in my code? -- The stars, my destination. |