[英]How to structure Multiple object and array of JSON in java in beanshell and review the output
這是JSON文件。 我想make java可以像這樣生成json。 只是忽略這個值,我想要的是json的結構。 我在beanshell采樣器中創建它
我已經嘗試過在beanshell采樣器中
"itemLines": {
"itemLine": [
{
"bundleParentId": "",
"id": "1",
"itemType": "ART",
"itemNo": "00258882",
"requiredQty": "1",
"unitOfMeasure": "Piece"
},{
"bundleParentId": "",
"id": "2",
"itemType": "ART",
"itemNo": "20215877",
"requiredQty": "1",
"unitOfMeasure": "Piece"
},
{
"bundleParentId": "",
"id": "2",
"itemType": "ART",
"itemNo": "20215877",
"requiredQty": "1",
"unitOfMeasure": "Piece"
}
]
}
嘗試過的代碼是:
public void createJsonStructure() {
try
{
JSONObject rootObject = new JSONObject();
JSONArray articleArr = new JSONArray();
String[] article_list = {"00258882", "70234185", "00258882"};
log.info(article_list.length);
for (i=0;i<=article_list.length;i++)
{
JSONObject article_list= new JSONObject();
article_list.put("id", "i+1");
article_list.put("itemNo",article_list[i]);
article_list.put("requiredQty", "1");
articleArr.put(article_list);
}
log.info(articleArr);
rootObject.put("itemLines", articleArr);
log.info("rootObject is"+rootObject.toString(4));
props.put("JsonObjectoutput", rootObject.toString(4));
}
catch (Exception ex)
{
ex.printStackTrace();
log.info("notes");
}
}
輸出未粘貼在beanshell采樣器中
您可以創建對象結構,使其看起來像您的json,而不是使用Gson序列化對象int json。
示例(我使用lombok刪除批量代碼):
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class Item {
private String bundleParentId;
private int id;
private String itemType;
private String itemNo;
private int requiredQty;
private String unitOfMeasure;
}
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.List;
@Data
@AllArgsConstructor
public class ItemLine {
private List<Item> itemLine;
}
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class ItemLines {
private ItemLine itemLines;
}
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.util.ArrayList;
import java.util.List;
public class JsonTest {
public static void main(String[] args) {
Item item1 = new Item("", 1,"ART", "00258882", 1, "Piece");
Item item2 = new Item("", 2,"ART", "20215877", 1, "Piece");
Item item3 = new Item("", 2,"ART", "20215877", 1, "Piece");
List<Item> items = new ArrayList<>();
items.add(item1);
items.add(item2);
items.add(item3);
ItemLine itemLine = new ItemLine(items);
ItemLines itemLines = new ItemLines(itemLine);
Gson gson = new GsonBuilder().setPrettyPrinting().create();
System.out.println(gson.toJson(itemLines));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.