[英]how to convert a List of Data to json
我想要以下json,其中List<form>
將具有form_id
, form_name
列表,如何使用jsonobject進行轉換,但我沒有得到正確的json輸出。 請幫我解決一下這個。 JSON:
{
"forms": [
{ "form_id": "1", "form_name": "test1" },
{ "form_id": "2", "form_name": "test2" }
]
}
上面是我需要一個列表的json結構。id,name是表單對象的列表
public static JSONObject getJsonFromMyFormObject(List<Form> form) {
JSONObject responseDetailsJson = new JSONObject();
JSONArray jsonArray = null;
System.out.println(form.size());
for (int i = 0; i < form.size(); i++) {
JSONObject formDetailsJson = new JSONObject();
formDetailsJson.put("form_id", form.get(i).getId());
formDetailsJson.put("form_name", form.get(i).getName());
jsonArray = new JSONArray();
jsonArray.add(formDetailsJson);
}
responseDetailsJson.put("form", jsonArray);
return responseDetailsJson;
}
面臨的問題在這里無法獲得列表輸出
原始問題中的代碼已接近實現所描述的預期結果。 只需將JSONArray
實例創建移出循環即可。
import java.util.ArrayList;
import java.util.List;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class Foo
{
public static JSONObject getJsonFromMyFormObject(List<Form> form)
{
JSONObject responseDetailsJson = new JSONObject();
JSONArray jsonArray = new JSONArray();
for (int i = 0; i < form.size(); i++)
{
JSONObject formDetailsJson = new JSONObject();
formDetailsJson.put("form_id", form.get(i).getId());
formDetailsJson.put("form_name", form.get(i).getName());
jsonArray.add(formDetailsJson);
}
responseDetailsJson.put("forms", jsonArray);
return responseDetailsJson;
}
public static void main(String[] args)
{
List<Form> forms = new ArrayList<Form>();
forms.add(new Form("1", "test1"));
forms.add(new Form("2", "test2"));
JSONObject jsonObject = getJsonFromMyFormObject(forms);
System.out.println(jsonObject);
}
}
class Form
{
String id;
String name;
Form(String i, String n)
{
id = i;
name = n;
}
String getId()
{
return id;
}
String getName()
{
return name;
}
}
適當地http://www.roseindia.net/tutorials/json/jsonobject-java-example.shtml會有所幫助。
根據Tushar的評論,以下是上述鏈接網站的摘錄:
現在,在這一部分中,您將學習如何在Java中使用JSON。 要在Java中具有JSON功能,您必須具有JSON-lib。 JSON-lib還需要以下“ JAR”文件:
公地lang.jar
公地beanutils.jar
公地collections.jar
公共-logging.jar
ezmorph.jar
JSON-LIB-2.2.2-jdk15.jar
JSON-lib是一個Java庫,用於將bean,集合,地圖,java數組和XML轉換為JSON,然后將其重新轉換回bean,集合,地圖等。 在此示例中,我們將使用JSONObject類創建JSONObject對象,然后將打印這些對象值。 為了使用JSONObject類,我們必須導入以下軟件包“ net.sf.json”。 為了在這個對象中添加元素,我們使用了put()方法。 這是FirstJSONJava.java的完整示例代碼如下:
FirstJSONJava.java
import net.sf.json.JSONObject;
public class FirstJSONJava
{
public static void main(String args[])
{
JSONObject object=new JSONObject();
object.put("name","Amit Kumar");
object.put("Max.Marks",new Integer(100));
object.put("Min.Marks",new Double(40));
object.put("Scored",new Double(66.67));
object.put("nickname","Amit");
System.out.println(object);
}
}
要運行此示例,您必須遵循以下幾個步驟:
將這些罐子添加到您的類路徑中
創建並保存FirstJSONJava.java
編譯並執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.