2012-03-29 6 views
0

je dois analyser les données suivantesdonnées d'analyse syntaxique JSON en utilisant java

{"ResultSet":{"Query":"microsec fin","Result": 
[{"symbol":"MICROSE_a.NS","name": "MICROSEC FIN SERV LTD ","exch": "NSI","type": "S","exchDisp":"NSE","typeDisp":"Equity"}, 
    {"symbol":"MICROSEC.NS","name": "Microsec Fin Serv Ltd","exch": "NSI","type": "S","exchDisp":"NSE","typeDisp":"Equity"}]}} 

Le code que je utilise est

JSONObject json = (JSONObject) JSONSerializer.toJSON(inputLine); 
symbol=json.getJSONObject("ResultSet").getJSONArray("Result").getJSONObject(0).getString("symbol"); 

qui retourne MICROSE_a.NS. Ce que je veux faire est s'il y a un sous-fifre dans le symbole alors je veux que le prochain symbole soit pris. C'est maintenant que je veux un symbole pour tenir MICROSEC.NS. Comment puis-je faire cela.

+0

réitérons simplement à travers l'objet JSON et ramasser premier élément. Si l'élément a un trait de soulignement, choisissez le suivant en utilisant un drapeau. – Straseus

+0

Vous devrez cocher le symbole courant pour _ puis sélectionner le symbole suivant en utilisant la même instruction. Vous pourriez probablement mettre cela en boucle. –

+0

Pourriez-vous s'il vous plaît poster un code comme im un peu confus en ce moment. – user1092042

Répondre

1

Ou qui est beaucoup plus simple avec votre bibliothèque:

JSONArray Result= json.getJSONObject("ResultSet").getJSONArray("Result"); 
for(int i = 0; i<Result.length(); i++){ 
    String symbol = Result.getJSONObject(i).getString("Symbol"); 
    if(!symbol.contains("_")) 
      return symbol; 
}