Tuesday 21 November 2017

How to convert a json data to string in java

itemprop="text">

I want to convert json data to 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 {
System.out.println(modele(i).getString("id_product"));

System.out.println(modele(i).getString("meta_title"));

System.out.println("*********");

}



}


its
show me the json data but give me this the
error:



{"modeles":[{"modele":{"id_product":"9","id_shop":"1","id_lang":"4","description":null,"description_short":"
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)



help
me if you have any solution.
thanks in advance



Answer




In your code you read the json data from a
URL. I just copied your data and pasted it in a file and read the file as your url was
down. Here step by step I have shown how to parse your json object and content inside
it. For this I used
java-json-schema.jar.




import java.io.FileNotFoundException;
import java.io.FileReader;

import java.io.IOException;
import java.util.Iterator;


import org.json.simple.JSONArray;
import
org.json.simple.JSONObject;
import
org.json.simple.parser.JSONParser;
import
org.json.simple.parser.ParseException;
public class Tets
{

/**
* @param args
*/
public
static void main(String[] args) {

// TODO Auto-generated method
stub
JSONParser parser = new JSONParser();
try{
/* 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="";



Object obj = parser.parse(new
FileReader("C:\\XXX\\XX\\src\\javapackage\\t.json"));

JSONObject
jsonObject = (JSONObject) obj;
System.out.println(jsonObject.toJSONString());
//modeles object
JSONArray name = (JSONArray)
jsonObject.get("modeles");
System.out.println(name.toJSONString());//array
inside modeles array


for (Object o :
name)

{
JSONObject person = (JSONObject) o;

JSONObject person1 = (JSONObject)person.get("modele");

System.out.println(person.get("modele"));//modele object

System.out.println(person1.get("id_lang"));//modele attribute
}




}catch(Exception
e){e.printStackTrace();}


}

}


OutPut



Your
Json
Object



{"modeles":[{"modele":{"id_lang":"4","info_5":null,"info_4":null,"link_rewrite":"208","meta_keywords":"peugeot
208","info_3":null,"info_2":null,"info_1":null,"available_now":"","meta_description":"Peugeot
208","id_product":"9","description_short":"
Peugeot
208<\/pre>","description":null,"name":"208","info_prix":"","meta_title":"Peugeot
208","available_later":"","id_shop":"1"}}]}



Your
Json Array contained in json
Object



[{"modele":{"id_lang":"4","info_5":null,"info_4":null,"link_rewrite":"208","meta_keywords":"peugeot
208","info_3":null,"info_2":null,"info_1":null,"available_now":"","meta_description":"Peugeot
208","id_product":"9","description_short":"
Peugeot
208<\/pre>","description":null,"name":"208","info_prix":"","meta_title":"Peugeot
208","available_later":"","id_shop":"1"}}]


Your
Json Object inside
array



{"id_lang":"4","info_5":null,"info_4":null,"link_rewrite":"208","meta_keywords":"peugeot
208","info_3":null,"info_2":null,"info_1":null,"available_now":"","meta_description":"Peugeot
208","id_product":"9","description_short":"
Peugeot
208<\/pre>","description":null,"name":"208","info_prix":"","meta_title":"Peugeot
208","available_later":"","id_shop":"1"}



Your
Json Object id_lang atrribute value =
4



4


src="https://i.stack.imgur.com/8sdhD.png" alt="enter image description
here">


No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...