Wie konvertieren von json-Daten zu einem string in java
Ich möchte konvertieren von json-Daten in string
import java.io.BufferedReader;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.JSONArray;
import org.json.JSONObject;
public static void main(String[] args) throws Exception
{
URL url = new URL("http://192.168.1.13/test/ProductWb.php?productId=9");
HttpURLConnection conn ;
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setReadTimeout(60);
conn.setRequestProperty("Accept", "application/json");
String json="";
json = readUrl(conn);
System.out.println(json);
JSONObject jsonObject=new JSONObject(json);
JSONArray jarray=jsonObject.getJSONArray("modeles");
JSONObject modele= jarray.getJSONObject("modele");
for (int i=0;i<modele.length();i++) {
System.out.println(modele(i).getString("id_product"));
System.out.println(modele(i).getString("meta_title"));
System.out.println("*********");
}
}
seine zeigen Sie mir die json-Daten, sondern geben mir den Fehler:
{"modeles":[{"modele":{"id_product":"9","id_shop":"1","id_lang":"4","description":null,"description_short":"<pre>Peugeot 208<\/pre>","info_prix":"","info_1":null,"info_2":null,"info_3":null,"info_4":null,"info_5":null,"link_rewrite":"208","meta_description":"Peugeot 208","meta_keywords":"peugeot 208","meta_title":"Peugeot 208","name":"208","available_now":"","available_later":""}}]}
Exception in thread "main" java.lang.IllegalStateException: This is not a JSON Array.
at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:106)
at com.autoreduc.services.TestProduct.main(TestProduct.java:59)
helfen Sie mir, wenn Sie keine Lösung.
vielen Dank im Voraus
- Es ist ziemlich klar, dass
This is not a JSON Array.
Auch, wo sehen Sie eineNullPointereException
? - Sollte man definitiv machen Sie sich mit der json-format.
- was meinst du?
- Wie haben Sie in der Regel Lesen Sie Ihre exception-stack-traces?
- Er bedeutet, dass Sie in Ihrer Frage, dass Sie habe eine
NullPointereException
(sic), wenn es gibt keine Erwähnung der Ausnahme in Ihrem stack-trace. Es ist einIllegalStateException
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrem code, Lesen Sie die json-Daten aus einer URL. Ich habe gerade kopiert Ihre Daten und klebte es in eine Datei und Lesen Sie die Datei als url unten war. Hier Schritt für Schritt habe ich gezeigt, wie analysieren Sie Ihre json-Objekt und Inhalt. Dafür habe ich
java-json-schema.jar
.Ausgabe
Ihre Json-Objekt
Ihre Json-Array enthaltenen json-Objekt
Ihre Json-Objekt in array
Ihre Json-Objekt id_lang atrribute Wert = 4
Ihre JSON ist und nicht ein array.
Es ist ein JSON-Objekt mit einer Eigenschaft:
modeles
, deren Wert dem array.Analysieren die Wurzel als
JsonObject
.{
->stellt JSONObject und[
->stellt den JSONArray,zuerst das jsonObject und dann das array in es.
Habe ich versucht mit
jsonObject
Paket importieren der jar -import
s in deiner Frage.