web-dev-qa-db-fra.com

Chaîne vers jsonobject en java

Ceci est une chaîne de jsonObject

[
    {
        "No": "1",
        "Name": "ABC"
    },
    {
        "No": "2",
        "Name": "PQR"
    },
    {
        "No": "3",
        "Name": "XYZ"
    }
]

Je veux convertir cette chaîne en JSONObject pour obtenir cette valeur dans JSONArray

8
Nitin Karale

Utilisez celui-ci:

String jsonStr = "[{\"No\":\"1\",\"Name\":\"ABC\"},{\"No\":\"2\",\"Name\":\"PQR\"},{\"No\":\"3\",\"Name\":\"XYZ\"}]";

   JSONArray array = new JSONArray(jsonStr); 

    for(int i=0; i<array.length(); i++){
        JSONObject jsonObj  = array.getJSONObject(i);
        System.out.println(jsonObj.getString("No"));
        System.out.println(jsonObj.getString("Name"));
    }

Production:

1
ABC
2
PQR
3
XYZ
14
Maxim Shoustin

Utilisez la bibliothèque JSON de Google (google-gson):

JsonParser jsonParser = new JsonParser();
JsonElement element = jsonParser.parse(your json string);
12
mqshen

Je suppose que votre chaîne d'entrée est str,

 String str = {"xyz":[{"name":"Apple","email_id":"[email protected]"}]}

 JSONObject json = JSONObject.fromObject(str);

 JSONArray jarr = json.getJSONArray("xyz");

Au lieu de xyz, vous pouvez passer une entrée de chaîne racine.

Cela devrait fonctionner.

2
Ashu Phaugat

Vous pouvez utiliser GSON pour analyser les chaînes JSON en Java objets et vice versa).

2
ovunccetin