java - JSON string from Gson: remove double quotes -
here example of json code:
array("id" => 0, "navn" => "vind telefon", "udgiver" => "telia", "beskrivelse" => utf8_encode("vind en iphone 5 ved @ gætte 1 spørgsmål"), "tilmeldte" => 89, "startdate" => "10-04-2013", "enddate" => "30-06-2013"),
if print out navn
attribute in program following output:
"vind telefon"
as can see keeps double quotes.
is there way can avoid that?
my full code:
<?php header('content-type: json; charset=utf-8'); $lottery = array( array("id" => 0, "navn" => "vind telefon", "udgiver" => "telia", "beskrivelse" => utf8_encode("vind en iphone 5 ved @ gætte 1 spørgsmål"), "tilmeldte" => 89, "startdate" => "10-04-2013", "enddate" => "30-06-2013"), array("id" => 1, "navn" => "fri taletid", "udgiver" => "telmore", "beskrivelse" => utf8_encode("vind et års forbrug af fri data og fri taletid"), "tilmeldte" => 701, "startdate" => "03-03-2013", "enddate" => "10-06-2013"), array("id" => 2, "navn" => "vind 5000 kr.", "udgiver" => "bilka", "beskrivelse" => utf8_encode("vind et gavekort på 5000 kr til bilka."), "tilmeldte" => 101, "startdate" => "10-05-2013", "enddate" => "01-07-2013"), array("id" => 3, "navn" => "fri vin", "udgiver" => "føtex", "beskrivelse" => utf8_encode("vind et års forbrug af vin"), "tilmeldte" => 391, "startdate" => "01-04-2013", "enddate" => "10-07-2013"), array("id" => 4, "navn" => "vind et tv", "udgiver" => "el-giganten", "beskrivelse" => utf8_encode("vind et 60\" led tv til stuen"), "tilmeldte" => 22, "startdate" => "01-04-2013", "enddate" => "22-07-2013"), array("id" => 5, "navn" => "vind en telefon", "udgiver" => "samsung", "beskrivelse" => utf8_encode("vind en galaxy s4 4g telefon"), "tilmeldte" => 784, "startdate" => "10-04-2013", "enddate" => "30-07-2013"), array("id" => 6, "navn" => "gratis vand", "udgiver" => "aqua d'or", "beskrivelse" => utf8_encode("vind et helt års forbrug af vand og dansk vand"), "tilmeldte" => 345, "startdate" => "01-03-2013", "enddate" => "18-07-2013"), array("id" => 7, "navn" => "fri adwords", "udgiver" => "google", "beskrivelse" => utf8_encode("vind adwords kuponner til en værdi af 10.000"), "tilmeldte" => 22, "startdate" => "10-02-2013", "enddate" => "22-08-2013"), array("id" => 8, "navn" => "morgenmads produkter", "udgiver" => "kellogs", "beskrivelse" => utf8_encode("vind et helt års forbrug af kellogs produkter"), "tilmeldte" => 111, "startdate" => "01-05-2013", "enddate" => "10-09-2013"), array("id" => 9, "navn" => utf8_encode("vind tøj 10.000"), "udgiver" => "jack & jones", "beskrivelse" => utf8_encode("vind et gavekort til jack & jones på 10.000"), "tilmeldte" => 33, "startdate" => "03-05-2013", "enddate" => "01-10-2013"), ); //id, navn, udgiver, beskrivelse, tilmeldte, startdate, slutdate echo json_encode($lottery); ?>
the java code printing out:
string discription = arraylisting.get(i).getasjsonobject().get("beskrivelse").tostring(); system.out.println(discription);
my full java code
public static void main(string[] args) { string result = null; bufferedreader reader = null; try { url url = new url("http://www.marcrasmussen.dk/json.php"); reader = new bufferedreader(new inputstreamreader(url.openstream(), "utf-8")); (string line; (line = reader.readline()) != null;) { system.out.println(line); result = line; } } catch (exception e) { e.printstacktrace(); } { if (reader != null) { try { reader.close(); } catch (ioexception e) { // ignore } } } jsonelement root = new jsonparser().parse(result); hashmap<integer,competetionobject> commap = new hashmap<>(); jsonarray arraylisting = root.getasjsonarray(); (int = 0; < root.getasjsonarray().size(); i++) { int id = integer.parseint(arraylisting.get(i).getasjsonobject().get("id").tostring()); string name = arraylisting.get(i).getasjsonobject().get("navn").tostring(); string provider = arraylisting.get(i).getasjsonobject().get("udgiver").tostring(); string discription = arraylisting.get(i).getasjsonobject().get("beskrivelse").tostring(); int signedup = integer.parseint(arraylisting.get(i).getasjsonobject().get("tilmeldte").tostring()); string startdate = arraylisting.get(i).getasjsonobject().get("startdate").tostring(); string enddate = arraylisting.get(i).getasjsonobject().get("enddate").tostring(); competetionobject co = new competetionobject(id, name, provider, discription, signedup, startdate, enddate); string day = startdate.substring(1, 3); string month = startdate.substring(5,6); string year = startdate.substring(7,startdate.length()-1); datetime d = new datetime(year+"-"+month+"-"+day); system.out.println(discription); commap.put(id, co); } }
the output of java program:
[{"id":0,"navn":"vind telefon","udgiver":"telia","beskrivelse":"vind en iphone 5 ved @ g\u00e6tte 1 sp\u00f8rgsm\u00e5l","tilmeldte":89,"startdate":"10-04-2013","enddate":"30-06-2013"},{"id":1,"navn":"fri taletid","udgiver":"telmore","beskrivelse":"vind et \u00e5rs forbrug af fri data og fri taletid","tilmeldte":701,"startdate":"03-03-2013","enddate":"10-06-2013"},{"id":2,"navn":"vind 5000 kr.","udgiver":"bilka","beskrivelse":"vind et gavekort p\u00e5 5000 kr til bilka.","tilmeldte":101,"startdate":"10-05-2013","enddate":"01-07-2013"},{"id":3,"navn":"fri vin","udgiver":null,"beskrivelse":"vind et \u00e5rs forbrug af vin","tilmeldte":391,"startdate":"01-04-2013","enddate":"10-07-2013"},{"id":4,"navn":"vind et tv","udgiver":"el-giganten","beskrivelse":"vind et 60\" led tv til stuen","tilmeldte":22,"startdate":"01-04-2013","enddate":"22-07-2013"},{"id":5,"navn":"vind en telefon","udgiver":"samsung","beskrivelse":"vind en galaxy s4 4g telefon","tilmeldte":784,"startdate":"10-04-2013","enddate":"30-07-2013"},{"id":6,"navn":"gratis vand","udgiver":"aqua d'or","beskrivelse":"vind et helt \u00e5rs forbrug af vand og dansk vand","tilmeldte":345,"startdate":"01-03-2013","enddate":"18-07-2013"},{"id":7,"navn":"fri adwords","udgiver":"google","beskrivelse":"vind adwords kuponner til en v\u00e6rdi af 10.000","tilmeldte":22,"startdate":"10-02-2013","enddate":"22-08-2013"},{"id":8,"navn":"morgenmads produkter","udgiver":"kellogs","beskrivelse":"vind et helt \u00e5rs forbrug af kellogs produkter","tilmeldte":111,"startdate":"01-05-2013","enddate":"10-09-2013"},{"id":9,"navn":"vind t\u00f8j 10.000","udgiver":"jack & jones","beskrivelse":"vind et gavekort til jack & jones p\u00e5 10.000","tilmeldte":33,"startdate":"03-05-2013","enddate":"01-10-2013"}] "vind en iphone 5 ved @ gætte 1 spørgsmål" "vind et års forbrug af fri data og fri taletid" "vind et gavekort på 5000 kr til bilka." "vind et års forbrug af vin" "vind et 60\" led tv til stuen" "vind en galaxy s4 4g telefon" "vind et helt års forbrug af vand og dansk vand" "vind adwords kuponner til en værdi af 10.000" "vind et helt års forbrug af kellogs produkter" "vind et gavekort til jack & jones på 10.000"
it's not documented properly, jsonelement#tostring()
gets string represents json element , appropriate re-creating json serialization. want jsonelement#getasstring()
. throw error if you're not looking @ string, if are, you'll string value.
here's test program demonstrate:
import com.google.gson.jsonelement; import com.google.gson.jsonparser; public class test { public static void main(string[] args) { string in = "{\"hello\":\"world\"}"; system.out.println(in); jsonelement root = new jsonparser().parse(in); system.out.println(root.getasjsonobject().get("hello").tostring()); system.out.println(root.getasjsonobject().get("hello").getasstring()); } }
and output:
{"hello":"world"} "world" world
Comments
Post a Comment