Fehler bei JSON

  • 5 Antworten
  • Letztes Antwortdatum
blackfire185

blackfire185

Stamm-User
40
Hallo Leute,
wir versuchen uns gerade an einer app, die die Google Places API nutzt, um eben Places in der Nähe anzuzeigen.
Das Rückgabeformat ist JSON, da wir allerdings noch nicht damit gearbeitet haben, sind wir etwas unerfahren.

Dies ist die JSON-Rückgabe:
{
"html_attributions" : [
"Einträge aus \u003ca href=\"http://www.gelbeseiten.de/\"\u003eGelbeSeiten®Verlagen\u003c/a\u003e"
],
"results" : [
{
"geometry" : {
"location" : {
"lat" : 50.231780,
"lng" : 7.5907290
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/wine-71.png",
"id" : "b0e37f242a02cdf581759ebfd136394095a30bb9",
"name" : "Peter Weiler",
"reference" : "CnRqAAAAx0z67QD3YuwHt5YjUdJP-SsrCL4SxNPbnR-lc78368OrY9fjZRz4bkTPyfQZqDvlccnRnE9UJsIyCWkLGz10FOGgQC6NlMGOx5TGcwX5DNtB6aqruNVoHh7GnvbJdhYuV0ukEnNlqmYwKWrQvb8P4BIQQ7mH4lom2jfLLSVOEq52sBoUUyVeRWk6zoTnSuVDCjWRqfL3psg",
"types" : [
"liquor_store",
"grocery_or_supermarket",
"food",
"store",
"establishment"
],
"vicinity" : "Oberstraße 120, Boppard"
},
{
"geometry" : {
"location" : {
"lat" : 50.2306660,
"lng" : 7.5880640
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "010a5177e1087c68521946728a34c70cd0f822b7",
"name" : "Convenda SB-Grosseinkauf",
"reference" : "CoQBdgAAAH98rd3y8RikN6LhQbatsFlflZ-7J1nh0fXeDuWvVw396F2MfBRQF_uNks0ENVA1HzOt0T6HsBYwnKhio7Oar2YJt0HfAMWfK3kNH7duH251EJov1h7K4rcVjdfSqaC3EN0vKi1szC2_wPNmrbxIXHA0lLi4DWe8CZYeITMuwWH6EhDpqsHGn4m63drCdmRP9xsVGhSx0dWHW3Ud_J106sK7uRgfjJ3Swg",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "Säuerlingstraße 13, Boppard"
},
{
"geometry" : {
"location" : {
"lat" : 50.2308180,
"lng" : 7.5868380
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "500158e84c0c146708121f6dcee198a6397a9568",
"name" : "REWE",
"reference" : "CnRjAAAAVJVzlXTMqrLgyN63aRfun-3-mZBK2d60CLuNs0Bd5JOvHFrLk_LTWCuSpZE2k6kjaTgWs137GOm5eSF4u2jVknec9F-C_GT8LJF07ejkkNXP_SerZsOUFlu2-bfSCocKWHpNa5viAnoS_YfubRO1ihIQdZdhSMD8f1b5lD8qIQAoMRoUvJsVRjSn0HH338fPSzRXeCSA0nk",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "Säuerlingstraße 20, Boppard"
},
{
"geometry" : {
"location" : {
"lat" : 50.2121380,
"lng" : 7.609670
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "4846a16318ca4b1b488cd18d3c364dedd3f174f0",
"name" : "Aldi",
"reference" : "CnRiAAAAqc9FRMWcm5BNiykyzWIFm-sjqRjc61ZVtZ4G9s_OUzeY4jNVyxCy6cE_Ld_W9jSlkWQBUs4rHWzh0C2V7aCMUB0UxoKgwKTV58D3nH03purArt5oCrbbdK46H6caWAGdXCm8Hw_JallBj6Y2jQAS7BIQ9bTKsQF3jnDBHCcE3fpGRRoUbCADvaFZxDUle8p9miXrVOn6SqM",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "Buchenauer Straße, Boppard"
},
{
"geometry" : {
"location" : {
"lat" : 50.208570,
"lng" : 7.6272130
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "d9af3dbce234f2c9eb2e1fecc40da356a1608c31",
"name" : "Spar-Center",
"reference" : "CnRqAAAAmyvR8iQQQ-7d1jw1AwhjpMNoGCilrLr7GlmJjJ-KBZEmSjN9zCsNLf4w2URZztbgJH5bMjRDJ1XmQtIpoCrQ4yFUVCbU6C7CjpBoTSifgHyouuCKrz9BiEfFaIGFm0cqLotUu7fKc9g23UYe81i5cRIQ9TYikCbkFsHlp2PklAx59xoUmT_mkz5OnEjU9opT_Nfg9ymsx9U",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "Bopparder Straße 80, Boppard"
},
{
"geometry" : {
"location" : {
"lat" : 50.2136740,
"lng" : 7.5362170
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "bc36e41b5bcae43e49b3fdef3643eaeccc10f089",
"name" : "EDEKA aktiv markt",
"reference" : "CnRvAAAAXPYuG1zgiTh3pYoyvXwPuF6Dc0G_ZJ_I9CAMAhJhIFEcNDa_oSYuSIM4g3IHoG1uF9nUjM20MijEao9KGASBe79cqGu8MiswUOej5CJRx2vnUFHkN-VPVOH3Lb86-nQSJa_kTSLi1GUMieg1NT2D4hIQNFbCdLLKSdotc7d0Y-91GhoUCv3pzNc2qNQrAS5LYcPDTog7Ym4",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "Casinostraße 58, Boppard"
},
{
"geometry" : {
"location" : {
"lat" : 50.2136740,
"lng" : 7.5362170
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "438a46967a6aefbaf679ae5875a6e6a8e61f3915",
"name" : "Penny-Markt",
"reference" : "CnRpAAAA53QB2uHvnBUR90B7b_LKI_Ez8_jAVSfjwtBEfaZ83f8y4b4eik3wNcT_deAif6b3LM6O3nRHY9FUVG4xUEYVQdXVsHhdt0G7MzBxmxAXLN3ZSBZCftCULJHMSrjCIwBjZ0BGa-UBQFUPPqq_KkhTBBIQHtATPtPZWEfvqJ9Rr5SWcxoUzWgu5yMvSIdE6X2s8Ri5Q3KFgIs",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "Casinostraße 60, Boppard"
},
{
"geometry" : {
"location" : {
"lat" : 50.2769950,
"lng" : 7.6227210
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "67841a4cd0189eaf6a4c54374b7c021910d93023",
"name" : "Aldi",
"opening_hours" : {
"open_now" : true
},
"reference" : "CnRiAAAAxBbDtVX0OuO3BaMvWBeGzZtUf7kScTWFReVnIPaMpMjsCzplzZdqTRQhgd34bCthEh7JMPbMwKG6aw0tC3NQAq5TE9tHnEnIZvsd9p0uBUC53jGKZvTdDXY6SZ0qN-XYM6FiK1Giy1D8jIPt1OfR2RIQYvsBMobId8xI_L9te1RJtxoUMmfmFOO_Nwzwv09fRhhW6GvcyjI",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "Am Bornpfad 17a, Rhens"
},
{
"geometry" : {
"location" : {
"lat" : 50.276150,
"lng" : 7.628420
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "2c2b947667e2ed8ce5f2938a770a98e9d2792dcb",
"name" : "Netto Marken-Discount AG & Co. KG",
"reference" : "CoQBgAAAAE-YWDNaEHPrnUJDJcfjSJoBKyqC1PPVkm53ux-Xi6OyI1plxAlMAAiNMkGmWvWbgREREH4lzu-l9WrgmWtn3yYvDxQB1sjL4HODBLe2_cmfaLX6wxmVmxtqKn7MN3aPIm7Qn_tkfnnHyrnhJEfbPFOrIFboaGy5Cy10ocgX7RBuEhC-7bARAjJQxSm_glbW_wFXGhRTc-wWUyxrxtSlWT4eTJvW8VKVsw",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "Mainzer Straße 7, Brey"
},
{
"geometry" : {
"location" : {
"lat" : 50.277170,
"lng" : 7.626910
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "16c6d7df26a60ae46441a2891c09bd1b125e0619",
"name" : "Lidl",
"opening_hours" : {
"open_now" : true
},
"reference" : "CnRjAAAAp0w6xtpf3UEEKVvtju2FACGcr4OYi7vEquf10yw03PLopvAsIG8QWc9qBalACdaRLBfHoTaNtdQkIiuLdJs06ys81i3Gkjjlc5_wzWydmJrY7lRyN8FT9vNubmGQZ2YKguMo8AZu8BA1yL5vhQpXEhIQzanfHP1IO7SBi7nwsWWQrBoUIxkUzuZKwmOYPTsnTXa2Yb4mcVw",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "Mainzer Straße 75, Rhens"
},
{
"geometry" : {
"location" : {
"lat" : 50.282370,
"lng" : 7.549510
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "f53b4b111f74b1dffd14329b07ddddaefb64a8a4",
"name" : "NORMA Filiale",
"opening_hours" : {
"open_now" : true
},
"reference" : "CnRsAAAAYU3VXPzFXMiFMUGqeVgxbo2wh41rr8z-Gv3FG9abTfu8qmxM1v8DWjTJE5G82xLW90cLrJ0WmrM04DpsHXOH3oUs0HeSYFKxMlc6Y7FAPjKCJjDD2cDv1Tv1fksbvymt4dKycLkJD2S-9YeWOOvimBIQKkoByiAC98JRvIofiMfk0xoUi3ssG2Mp4t3fX3-vYhJxRbAxW48",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "Hunsrückhöhenstraße 1, Waldesch"
},
{
"geometry" : {
"location" : {
"lat" : 50.2856440,
"lng" : 7.6290070
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "f41ea7ce950438da76728ff11aca1dba627fe04c",
"name" : "Aldi",
"opening_hours" : {
"open_now" : true
},
"reference" : "CnRiAAAA7DZgyTVdYYIxwyQQkw8WUZJA-K88SfuOBmIK_W0kBRhPwtOPGYKwzUZa4DLsHrgjFsMC1e6NCvSx7SRjDjcy50W63HmYpJt-NADIZfYbOUe5r8jz8iDbS7Oe5tlsGe28SRYWO-rOAjqfM90ByipCVRIQ5zmMxjNkf711dgQCzBWY4xoUfo4u2EfhOql3_VbzkxwJGihvZu8",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "Braubacher Straße 75, Oberlahnstein"
},
{
"geometry" : {
"location" : {
"lat" : 50.2811010,
"lng" : 7.5404430
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
"id" : "c61a3daa8d399f81e33df62bc8c5e46a7f4db65d",
"name" : "Helmut Pies",
"reference" : "CnRpAAAAsA66JfAuVCYK_XA_lJVjtR6-s79UHe_9CLo8PfFA2FNty2M_KDPLO8GN9DG-fdrRMunMTmh53Nk-vFq0YEEl83Zr0joOzkhARzZniDogTzp0Xy2l2mdQfPP4Nzuc5erSkMdKCyxK68lsdAUupuQAvxIQCsymvDlDKhE6klvJ3U9nrRoUTyBhtzwKiXNRBJRJFC-kvN2Ltkw",
"types" : [ "bakery", "grocery_or_supermarket", "store", "establishment", "food" ],
"vicinity" : "Dieblicher Straße 50, Waldesch"
},
{
"geometry" : {
"location" : {
"lat" : 50.2979010,
"lng" : 7.6108510
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "096a59d84f98be37189ff8df42416f76d592a5aa",
"name" : "Karlheinz Krämer",
"reference" : "CnRvAAAAVrZPdjKUe9LM5CG0OArzfYMAhY5qOm6xi1CeHpzeatPMqgiaPqJq46wqPanAT-Dzvf6PrLtP46BpWY7VX_Df6S3At0uYgEucMCHwDrC_7C4XvmM2YhLR6jg7G48WbYJPumVy2oJFELCnu3OWNEyhDxIQx3qJUEo1112gIZqmMOZmLRoUtOBmaEkZj95CJvcmxSbd3NY0rVE",
"types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],
"vicinity" : "Mittelstraße 89, Lahnstein"
}
],
"status" : "OK"
}

Um dieses JSON zu verarbeiten, habe ich folgenden Code zusammengestellt:

PHP:
private static String JSON_OBJEKT_NAME ="results";
	private static String ADRESS_TAG ="formatted_address";
	private static String NAME_TAG ="name";
	private static String RATING_TAG ="rating";
	private static String REFERENCE_TAG ="reference";
	private static String TYPES_TAG ="types";
	private static String ICON_TAG ="icon";
	private static String GEOMETRY_TAG ="geometry";
	private static String LOCATION_TAG ="location";
	private static String LATITUDE_TAG ="lat";
	private static String LONITUDE_TAG ="lng";
//...

ArrayList<Ergebnis> ergebnis_liste= new ArrayList<Ergebnis>();
		JSONObject json = new JSONObject(response);
		JSONArray results = json.getJSONArray(JSON_OBJEKT_NAME);
		 for(int i = 0; i < results.length(); i++){
		        JSONObject c = results.getJSONObject(i);
		        
		        //Restaurant Name
		        String name = c.getString(NAME_TAG);			
		       Log.d(LOG_TAG, name);
		       
		        //Location
		       JSONObject location = c.getJSONObject(GEOMETRY_TAG).getJSONObject(LOCATION_TAG);
		       String latitude = location.getString(LATITUDE_TAG);
		       String longitude = location.getString(LONITUDE_TAG);
		       Log.d(LOG_TAG, "Location: "+longitude + "|" + latitude);
		       
		       //Adresse
		       String adresse = c.getString(ADRESS_TAG);
		       Log.d(LOG_TAG,"Adresse "+ adresse);
		       
		       //Icon
		       String IconUrl = c.getString(ICON_TAG);
		       InputStream is = (InputStream) new URL(IconUrl.trim()).getContent();
		       Bitmap bit_icon = BitmapFactory.decodeStream(is);
		       
		       //rating
		       Double rating = c.getDouble(RATING_TAG);
		       Log.d(LOG_TAG,"Rating: " + String.valueOf(rating));
		       
		       //In Ergebnis.java packen
		       Ergebnis ergebnis = new Ergebnis(name, latitude, longitude, adresse, bit_icon, rating);
		       ergebnis_liste.add(ergebnis);
}

Allerdings kommt ein merkwürdiger Fehler:
Code:
05-24 17:55:42.510: W/System.err(13761): org.json.JSONException: [COLOR="Red"]Expected ':' after n at character 6[/COLOR] of {n   "html_attributions" : [n      "Listings by \u003ca href=\"http://www.gelbeseiten.de/\"\u003eGelbeSeiten®Verlagen\u003c/a\u003e"n   ],n   "results" : [n      {n         "geometry" : {n            "location" : {n               "lat" : 50.231780,n               "lng" : 7.5907290n            }n         },n         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/wine-71.png",n         "id" : "b0e37f242a02cdf581759ebfd136394095a30bb9",n         "name" : "Peter Weiler",n         "reference" : "CnRpAAAArDaJ9o1rKyBpeM0WHD8i6-sJTc6Sb_LYNIxkS691WxfzrqdWBq3zTontOB6olcYj6L058a37KxliePuDyDX7DQXdWQjdMfn9Zvz8B2_Ww8mET1Ctv-A5x_ldZXTcHngJ2JIKGjpU_4G1OOJBFobihhIQZ-go2-fzty7qAvGGhlIiEhoUh_CdM1pP4PxHDX_7qjBemfshRx4",n         "types" : [n            "liquor_store",n            "grocery_or_supermarket",n            "food",n            "store",n            "establishment"n         ],n         "vicinity" : "Oberstraße 120, Boppard"n      },n      {n         "geometry" : {n            "location" : {n               "lat" : 50.2306660,n               "lng" : 7.5880640n            }n         },n         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",n         "id" : "010a5177e1087c68521946728a34c70cd0f822b7",n         "name" : "Convenda SB-Grosseinkauf",n         "reference" : "CoQBdQAAAEabtcKXRiavQuVyk4ulV8TCEvYZGIi00aCUmlUKHqYmsPzN77HPv1i2IT5pgKd98OvMxtkwXlac3iyi3PWoBPQ4dmydebS1OAnQS5qYJKDI2TD7HCvqUvr_ZTDLtxQo2oVj9ZIKYlzWcjrF39qLyTsknUmzdahmEdFHnr7a1kzOEhA8ZigyoO-kr_eUkngGI-sRGhR2ISkKkkkIaG0UQA-0YoElc0JKvg",n         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],n         "vicinity" : "Säuerlingstraße 13, Boppard"n      },n      {n         "geometry" : {n            "location" : {n               "lat" : 50.2308180,n               "lng" : 7.5868380n            }n         },n         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",n         "id" : "500158e84c0c146708121f6dcee198a6397a9568",n         "name" : "REWE",n         "reference" : "CnRiAAAAskp3gxSycU1iS9az5EyISKBTf9boCe8IcHCGSECsuOLF4FDBawYDznusT6bxBZARdJ3AXot0n2bWkewSoaMsKJEJ4ezLJSZe_lFLe1nxhMqFH7MPplt12JbulMW3q8ydP8eZnGNU60KyYK5UizLJRBIQbRUMWpNwNh3gbm648ybYwhoUFiSfKdrvUffyomaK-GjkERkR0Vw",n         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],n         "vicinity" : "Säuerlingstraße 20, Boppard"n      },n      {n         "geometry" : {n            "location" : {n               "lat" : 50.2121380,n               "lng" : 7.609670n            }n         },n         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",n         "id" : "4846a16318ca4b1b488cd18d3c364dedd3f174f0",n         "name" : "ALDI Süd",n         "reference" : "CnRmAAAAj5CXS7Bu6LjoILNtChbba_f-BiAPGyhZpqhRkWLcf_r7DbKqG_poc7U2AFPQ0GOSU50CVi95eKUxE5N9kR2v4gff-MrCLvMseBZk0SNh-V5geSmqIYWd6UTCjz2oLsRSG4Pjmq4BmH5PqOK8q5qdpBIQ0ZFQdVkw_Cx5FVi9voYizxoUrlhqGAOX85AaoIzf7oVVfXdEr_k",n         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],n         "vicinity" : "Buchenauer Straße, Boppard"n      },n      {n         "geometry" : {n            "location" : {n               "lat" : 50.208570,n               "lng" : 7.6272130n            }n         },n         "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",n         "id" : "d9af3dbce234f2c9eb2e1fecc40da356a1608c31",n         "name" : "Spar-Center",n         "reference" : "CnRpAAAAvCW9OJJ8mX1suKTCB0LzOLFlYaDwqghvY8YwbD_gp4WkQJR1YNc1jkRayn9IJ7RwnyJM7yWESU0GxJyJbRk0oB2lf3G2UuY86xp9Az6cQrwpEwI9q05moP5yejLXVci2s3cYIl3O1HmkWEMtnTLy0xIQA95-6b8pqXyDpNnkw65e7BoUxeSQdrBAJsHxuHJQpeT4kSiZ--U",n         "types" : [ "grocery_or_supermarket", "food", "store", "establishment" ],n         "vicinity" : "Bopparder Straße 80, Boppard"n      },n      {n         "geometry" : {n            "location" : {n               "lat" : 50.2136740,n               "lng" : 7.5362170n     
05-24 17:55:42.510: W/System.err(13761): 	at org.json.JSONTokener.syntaxError(JSONTokener.java:450)
05-24 17:55:42.510: W/System.err(13761): 	at org.json.JSONTokener.readObject(JSONTokener.java:379)
//...

Zeicehn 6 wäre das m von html in der Gegend. Ich kann mir den Fehler nicht erklären, habe ich die JSON Verarbeitung falsch aufgebaut?

Vielleicht könnte ein Erfahrenererer kurz drüberschauen.:biggrin:

Danke
 
Auf den ersten Blick würde ich sagen du hast beim verarbeiten vom String einen Fehler drin und ich vermute die ganzen "n" sind eigentlich "\n" also newlines. Deswegen fliegt der Json Parser auf die Fresse.

Ich würde mir an deiner Stelle mal
google-gson - A Java library to convert JSON to Java objects and vice-versa - Google Project Hosting
angucken.

Dann musst du nur eine Klasse erstellen z.b. "Place" die alle variablen enthält.
mit
Place place= gson.fromJson("Dein Json String", Place.class);
bekommst du dann ein fertiges Place Objekt mit dem du arbeiten kannst

Ich weiß halt nicht wie du dein response Objekt zusammen baust bzw wo du es herbekommst, aber da scheint mir schon der Fehler zu sein.
 
  • Danke
Reaktionen: blackfire185
Also das mit den newlines hab ich auch schon gedacht und versucht sie mit replacr zu ersetzen, geht aber auch nicht. Die daten kommen direkt aus dem internet über einen http client.

Ich wollte eigentlich keine extra lib verwenden, dachte so gehts auch.

Gesendet von meinem LG-P880 mit der Android-Hilfe.de App
 
Sollte theoretisch auch so gehen, dein problem ist momentan auch nicht die Json umwandlung sondern dein String.
Dann poste mal deinen Code wo du aus dem HTTPResponse den String holst.

Mit gson könntest du übrigens auch den Inputstream reader den du aus dem HTTPEntitiy Objekt bekommst direkt nutzen.
gson.fromJson(new InputStreamReader(entitiy.getContent()), Place.class)
müsste auch funktionieren, dann musst du dich nicht mal mehr darum kümmern. ;)
 
  • Danke
Reaktionen: blackfire185
PHP:
String getURL = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?key="+ "api-key" + 
					"&location=" + "50.23232,7.59214" + //daten[0].getLongitude()+","+daten[0].getLatitude() + 
					"&sensor=true" +
					"&rankby=distance" +
					"&types=grocery_or_supermarket%7Cbakery%7Ccafe%7Cfood%7Cmeal_delivery%7Cmeal_takeaway%7Crestaurant";
			
			String url = URLDecoder.decode(getURL, "utf-8");
			Log.d(LOG_TAG, url);
	        HttpClient client = new DefaultHttpClient();  
	        
	        HttpGet get = new HttpGet(url);
	        HttpResponse responseGet = client.execute(get);  
	        HttpEntity entity = responseGet.getEntity();
	        if (entity != null) {
	        	InputStream instream = entity.getContent();
	        	BufferedReader reader = new BufferedReader(new InputStreamReader(instream));

	        	StringBuilder sb = new StringBuilder();
	        	String line = null;
		        	while ((line = reader.readLine()) != null){
		        	sb.append(line +[COLOR="Red"] "n"[/COLOR]);
		        	}
	        	json_data = sb.toString();
	        	instream.close();
	        	
	        }

json_data enthält dann den String, der eben verarbeitet wird.

Da atsächlich, wie hat sich da das +"n" eingeschlichen? Hatte das noch aus einem alten Projekt und hab es vergessen zu ändern, danke :D
Das erklärt natürlich einiges.
 
Ok das erklärt das ganze ziemlich gut :D

Ich würde dir (vielleicht auch fürs nächste mal) trotzdem Gson ans Herz legen
(Ich mag die Lib einfach).

Beispiel:

Code:
           String url = URLDecoder.decode(getURL, "utf-8");
            Log.d(LOG_TAG, url);
            HttpClient client = new DefaultHttpClient();  
            Gson gson = new Gson();
            
            HttpGet get = new HttpGet(url);
            HttpResponse responseGet = client.execute(get);  
            HttpEntity entity = responseGet.getEntity();
            if (entity != null) {
                Place place = gson.fromJason(InputStreamReader(entity.getContent()), Place.class);                
            }

Fertig!

Mehr brauchst du nicht um das gesamte Json zu verarbeiten. Ausser einmal die simple Klasse Place erstellen, aber die ist schnell gemacht.
 
  • Danke
Reaktionen: blackfire185
Zurück
Oben Unten