我想在JsonArray中存儲字符串。 例如: 「virtual_hosts」: 「vlbr-vlbre9ef7a820b3f43c7bd3418bb62.uscom-central-1.c9dev1.oc9qadev.com」]把字符串值放在JsonArray中
我應該怎麼做,用java的幫助。
JsonArray arr = new JsonArray();
arr.add()
涉及添加JsonElement而不是字符串。我想存儲字符串。
我想在JsonArray中存儲字符串。 例如: 「virtual_hosts」: 「vlbr-vlbre9ef7a820b3f43c7bd3418bb62.uscom-central-1.c9dev1.oc9qadev.com」]把字符串值放在JsonArray中
我應該怎麼做,用java的幫助。
JsonArray arr = new JsonArray();
arr.add()
涉及添加JsonElement而不是字符串。我想存儲字符串。
如果你想通過谷歌使用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字符串。
在接下來的兩個步驟中,將創建一個json數組並將其添加到該數組中。
之後,將創建一個將要保存該數組的json對象,並向該數組添加一個使數組可訪問的鍵。
如果您檢查對象,它看起來就像你想擁有它。
如果你想使用gson,沒有簡單的方法在JsonArray
上添加一個字符串。如果您需要直接添加字符串,則可能需要使用其他庫。
是的,我從谷歌使用JsonArray。但是沒有稱爲JsonPrimitive的類。什麼是將Java字符串轉換爲Json字符串的其他方法 –
@YashaJadwani實際上有一個,我測試了我的PC上的代碼。在這裏你可以看到[JsonPrimitive]的gson api(https://static.javadoc.io/com.google.code.gson/gson/2.6.2/com/google/gson/JsonPrimitive.html)。也許你正在使用舊版本的Java和/或gson? –
非常感謝這個幫助!它按預期工作。 –
您可以創建主機列表並以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」]}
你要做的是將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>
你可能會檢查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 –
*「我應該怎麼做」*使用JSON庫。搜索網頁。有多個Java庫可用。如果你問如何使用特定的庫,你需要說出你正在嘗試使用哪一個庫。 – Andreas
您可以創建主機列表並以JSON設置屬性,請檢查下面的答案。 –