Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #27493
| Newsgroups | comp.lang.java.programmer |
|---|---|
| Date | 2014-02-12 20:24 -0800 |
| References | (2 earlier) <1138f80c-bc7c-4edd-a91b-fb5f8e2137d6@googlegroups.com> <afa4179b-ea47-4bc4-b9d3-a3a4e7df06bf@googlegroups.com> <0163eae2-3f35-4b96-a292-87a2fe3d3b03@googlegroups.com> <ldgf0i$quu$1@dont-email.me> <ldgg7n$2nk$1@dont-email.me> |
| Message-ID | <cd1085ea-193d-4826-8308-698ba9096f6a@googlegroups.com> (permalink) |
| Subject | Re: Unable to Overload toString for Object |
| From | Ojesh Dugar <ojesh.u@gmail.com> |
On Thursday, February 13, 2014 12:27:59 AM UTC+5:30, Eric Sosman wrote:
> On 2/12/2014 1:37 PM, markspace wrote:
>
> > On 2/12/2014 12:38 AM, Ojesh Dugar wrote:
>
> >> Basically, I am able to access Bugzilla Webservice API through java
>
> >> code(xmlrpc) and in return i get a object of <<class
>
> >> java.util.HashMap>>. According to Bugzilla documentation two items
>
> >> are returned, bugs and faults, both are array of hashes and I want to
>
> >> access these. Thanks.
>
> >>
>
> >
>
> >
>
> > Cast to a HashMap and iterate over all of its keys.
>
> >
>
> > (not tested):
>
> >
>
> > // create bug
>
> > Object createResult = rpcClient.execute("Bug.search", new
>
> > Object[]{bugMap});
>
> > //createResult.toString();
>
> >
>
> > HashMap bugs = (HashMap)createResult;
>
> > for( Object key : bugs.keySet() ) {
>
> > System.out.println( "Key "+key.getClass().getName()
>
> > + "= "+key
>
> > + ", value "+ bugs.get( key ).getClass().getName()
>
> > + "= "+ bugs.get( key )
>
> > );
>
> > }
>
> >
>
> > More info here:
>
> >
>
> > http://www.mkyong.com/java/how-to-loop-a-map-in-java/
>
>
>
> This probably won't work as written. The original post said
>
> createResult.toString() produced "[Ljava.lang.Object;@2ee5e48a",
>
> indicating that rpcClient.execute() returns an Object[], that
>
> is, an array of Object references. (To those surprised that an
>
> array of Objects is itself an Object: Someday it will all make
>
> sense, I promise.) So what he needs to do is cast the returned
>
> value to an Object[]:
>
>
>
> Object[] array = (Object[]) createResult;
>
>
>
> ... then iterate over the contents of the array:
>
>
>
> for (Object obj : array) {
>
>
>
> ... and then (assuming the Objects in the array are HashMaps as
>
> advertised, or in any case *some* kind of Maps):
>
>
>
> Map bugs = (Map) obj;
>
>
>
> ... and *then* he can iterate over the entries, either in the
>
> manner markspace shows or by using the key/value pairs directly:
>
>
>
> for (Map.Entry ent : bugs.entrySet()) {
>
> Object key = ent.getKey();
>
> Object val = ent.getValue();
>
> ...
>
>
>
> --
>
> Eric Sosman
>
> esosman@comcast-dot-net.invalid
Object[] array = (Object[]) createResult;
this line itself gives an error.
Exception in thread "main" java.lang.ClassCastException: java.util.HashMap cannot be cast to [Ljava.lang.Object;
at XMLRPC.Testing.main(Testing.java:64)
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-10 22:59 -0800
Re: Unable to Overload toString for Object leif.roar@invalid.com (Leif Roar Moldskred) - 2014-02-11 02:40 -0600
Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-11 01:03 -0800
Re: Unable to Overload toString for Object Lew <lewbloch@gmail.com> - 2014-02-11 15:49 -0800
Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-12 00:38 -0800
Re: Unable to Overload toString for Object markspace <markspace@nospam.nospam> - 2014-02-12 10:37 -0800
Re: Unable to Overload toString for Object Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-02-12 13:57 -0500
Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-12 20:24 -0800
Re: Unable to Overload toString for Object Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-02-13 08:29 -0500
Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-12 20:58 -0800
Re: Unable to Overload toString for Object markspace <markspace@nospam.nospam> - 2014-02-12 21:29 -0800
Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-13 00:59 -0800
Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-11 01:06 -0800
Re: Unable to Overload toString for Object Ojesh Dugar <ojesh.u@gmail.com> - 2014-02-11 01:27 -0800
csiph-web