2017-02-23 4 views
-1

StringをJsonArrayに保存します。 例: "virtual_hosts":[ "vlbr-vlbre9ef7a820b3f43c7bd3418bb62.uscom-central-1.c9dev1.oc9qadev.com"]JsonArrayに文字列値を入力します。

どのように私は、javaの助けを借りて、これを行う必要があります。

JsonArray arr = new JsonArray(); 
arr.add() 

には、文字列ではなくJsonElementが追加されます。私はストリングを保管したい。

+1

あなたはhttp://stackoverflow.com/questions/15729598/how-to-add-a-string-array-in-a-json-objectとhttp://stackoverflow.com/questions/11053332/をチェックすることができます。 how-to-add-string-into-jsonarray –

+1

* "どうすればいいですか?" * JSONライブラリを使用してください。ウェブを検索します。 Javaには複数のライブラリが用意されています。特定のライブラリの使用方法を尋ねる場合は、使用しようとしているライブラリを指定する必要があります。 – Andreas

+0

ホストのリストを作成し、JSONでプロパティを設定することができます。以下の答えを確認してください。 –

答えて

0

あなたは、Googleがgson使用しようとしている場合、あなたはには、このようにそれを行う必要があり次のようになります。

JsonPrimitive firstHost = new JsonPrimitive("vlbr-vlbre9ef7a820b3f43c7bd3418bb62.uscom-central-1.c9dev1.oc9qadev.com"); 

JsonArray jArray = new JsonArray(); 
jArray.add(firstHost); 

JsonObject jObj = new JsonObject(); 
jObj.add("virtual_hosts", jArray); 

最初の行は、java文字列をjson文字列に変換します。

次の2つの手順で、json配列が作成され、文字列が追加されます。

その後、配列を保持する予定のjsonオブジェクトが作成され、配列にアクセス可能にするキーが配列に追加されます。

オブジェクトを検査すると、そのオブジェクトを望むのとまったく同じように見えます。

JsonArrayに文字列を追加する簡単な方法は、gsonを使用する場合はありません。文字列を直接追加する必要がある場合は、おそらく別のライブラリを使用する必要があります。

+0

はい私はGoogleからJsonArrayを使用しています。しかし、JsonPrimitiveというクラスはありません。 Java文字列をJson文字列に変換する他の方法は何ですか –

+0

@YashaJadwani実際には1つありますが、私は自分のPC上でコードをテストしました。ここでは[JsonPrimitive]のgson api(https://static.javadoc.io/com.google.code.gson/gson/2.6.2/com/google/gson/JsonPrimitive.html)を見ることができます。古いバージョンのJavaおよび/またはgsonを使用している可能性がありますか? –

+0

これはすごく助けてくれてありがとう!その期待どおりに動作します。 –

0

ホストのリストを作成し、JSONでプロパティを設定することができます。

import org.json.simple.JSONObject;  
import java.util.ArrayList; 

public class Test { 

    public static void main(String[] args) { 
     ArrayList<String> hosts = new ArrayList<String>(); 
     hosts.add("vlbr-vlbre9ef7a820b3f43c7bd3418bb62.uscom-central-1.c9dev1.oc9qadev.com"); 
     hosts.add("dummy.oc9qadev.com"); 

     JSONObject jsonObj = new JSONObject(); 
     jsonObj.put("virtual_hosts", hosts); 

     System.out.println("Final JSON String is--"+jsonObj.toString()); 


    } 
} 

出力 -

{ "virtual_hosts": [ "vlbr-vlbre9ef7a820b3f43c7bd3418bb62.uscom-central-1.c9dev1.oc9qadev.com"、 "dummy.oc9qadev.com"]}

0

あなたがやっていることは、JSONArrayをJSONObjectに格納することです。キーvirtual_hostsにはJSONArrayという値が含まれているためです。

以下のコードを参考にしてください。

public static void main(String[] args) { 

    JSONArray jsonArray = new JSONArray(); 

    jsonArray.add("vlbr-vlbre9ef7a820b3f43c7bd3418bb62.uscom-central-1.c9dev1.oc9qadev.com"); 

    JSONObject jsonObject = new JSONObject(); 

    jsonObject.put("virtual_hosts", jsonArray); 


    System.out.println(jsonObject); 

} 

出力:

{"virtual_hosts":["vlbr-vlbre9ef7a820b3f43c7bd3418bb62.uscom-central-1.c9dev1.oc9qadev.com"]} 

Mavenのdependecny

<dependency> 
    <groupId>net.sf.json-lib</groupId> 
    <artifactId>json-lib</artifactId> 
    <version>2.4</version> 
    <classifier>jdk15</classifier> 
</dependency> 
関連する問題