2016-04-12 13 views
0

空のJson配列をNull Json配列に変換したいと考えています。JavaのJson配列「[{}}」を「[]」に変換

たとえば、My Json配列は「[{}]」のようなもので、この配列を取得すると自動的に「[]」に変換されます。

私のコードは以下の通りのようなものです:

JsonObject jo = FetchData.getAllItemsAvg(request.getParameter("where"), request.getParameter("lastNum"),request.getParameter("limitAvgNum")); 
JsonArray ja = new JsonArray(); 
ja.add(jo); // Some times ja like "[{}]" . 
+3

それは空の配列ではありません、それはプロパティを持たない単一のオブジェクトを含む配列です。 –

+0

さて、変換する方法は分かりますか? –

+0

適切な答えは、あなたの入力が何であるか(JSONArrayクラスの文字列かインスタンスか)と使用しているJSONライブラリによって異なります。それが文字列の場合は、単に '{}'を空の文字列で 'replace 'してください。 – Pshemo

答えて

2

チェックオブジェクトが配列に追加する前に、空の場合。 (あなたがJsonObjectを使用していると仮定します):com.google.gson.JsonObject用

JsonObject jo = FetchData.getAllItemsAvg(
          request.getParameter("where"), 
          request.getParameter("lastNum"), 
          request.getParameter("limitAvgNum")); 
JsonArray ja = new JsonArray(); 
if(!jo.isEmpty()){ 
    ja.add(jo); 
} 

JsonObject jo = FetchData.getAllItemsAvg(
          request.getParameter("where"), 
          request.getParameter("lastNum"), 
          request.getParameter("limitAvgNum")); 
JsonArray ja = new JsonArray(); 
if(!jo.entrySet().isEmpty()){ 
    ja.add(jo); 
} 
+0

確認方法を教えてもらえますか? 私は次のように試しましたが、私は失敗します: http://stackoverflow.com/questions/19170338/how-to-test-if-json-object-is-empty-in-java http: //stackoverflow.com/questions/12585492/how-to-test-if-a-jsonobject-is-null-or-doesnt-exist など。 –

+0

更新された回答を参照してください – marthursson

+0

はい、私はすでに試してみましたこれは私が "isEmpty()メソッドは、JsonObject型の定義されていません"エラーを取得しています。 –

関連する問題