2016-08-27 17 views
0

私はmsgの内容をERRORにしようとしています。私は配列に文字列のリターンを変換することによってそれをやっています。 今、解決策1は、import org.json.JSONArray;を使用して完全に正常に動作します:正しいライブラリを使用してJson Stringを取得する

Vector<ClsReturn> ret = null; 

         ret = ds.ind(coll,uri); 
         JSONArray array = new JSONArray(" [{\"type\":1, \"txt\":\"ERROR\"}]"); 
          int i = 0; 
          JSONObject myJsonObject = new JSONObject(); 
          while(i < array.length()){ 
           myJsonObject = array.getJSONObject(i); 
           System.out.println(myJsonObject.getString("txt")); 
           i++; 
          } 

上記溶液は私TROは「ERROR」で「TXT」のコンテンツを取得できます。 String jsReturn = JSONArray.toJSONString(ret);のreutrnを使用しようとすると、(コードの下に)しかし、私が使用しているライブラリがJSONArray.toJSONStringをサポートしていないためにできないので、org.json.simple.JSONArray;をインポートする必要がありますarray.getJSONObject(i)を使用しますが、両方のライブラリorg.json.simple.JSONArrayorg.json.JSONArrayは一緒に動作しません。希望の結果を得るための回避策はありますか?

Vector<ClsReturn> ret = null; 

         ret = ds.ind(coll,uri); 
         String jsReturn = JSONArray.toJSONString(ret);//output(using simple.JSONArray) --> [{"type":1, "msg":"ERROR"}] 
         JSONArray array = new JSONArray(jsReturn); 
          int i = 0; 
          JSONObject myJsonObject = new JSONObject(); 
          while(i < array.length()){ 
           myJsonObject = array.getJSONObject(i); 
           System.out.println(myJsonObject.getString("txt")); 
           i++; 
          } 

答えて

0

org.json.JSONArrayは出力JSON文字列を意志toString()方法があります。また、インデントを使用することができますtoString(int indent_factor)

+0

公式ドキュメントhttp://stleary.github.io/JSON-java/index.html – Sterling

+0

私は前にそれを試しましたが、メソッドを取得し続けましたtoString(int)in型JSONArrayは引数には適用されません(Vector ) – user3191086

関連する問題