1. 程式人生 > >將多個jsonArray合併(scala)

將多個jsonArray合併(scala)

因為業務需求,要將多個jsonArray合併,使用scala分分鐘實現,程式碼異常簡潔。

程式碼

object test extends App{

//構造jsonArray
val obj1 = new JSONObject()
  obj1.put("name","breeze")
  obj1.put("age",22)
val obj2 = new JSONObject()
  obj2.put("name","lsw")
  obj2.put("age",20)
  obj2.put("addr","hangzhou")
//arr1有2個obj
val jsonArray1 = new
JSONArray() jsonArray1.put(obj1) jsonArray1.put(obj2) //arr2有一個obj val jsonArray2 = new JSONArray() jsonArray2.put(obj2) //arr3為空 val jsonArray3 = new JSONArray() /** * 接收引數為任意個數的String(jsonArray) * 將其合併為一個 */ def combineJsonArray(arrs: String*): String ={ val jsonArray = new JSONArray() for
(arr <- arrs){ //排除空值 if(StringUtils.isNotBlank(arr)){ val jSONArray = new JSONArray(arr) for(i <- 0 until jSONArray.length()){ jsonArray.put(jSONArray.getJSONObject(i)) } } } jsonArray.toString() } } //不同引數輸出 println("3args:"
+ combineJsonArray(jsonArray1.toString,jsonArray2.toString,jsonArray3.toString)) println("2args:"+ combineJsonArray(jsonArray1.toString,jsonArray2.toString)) println("1args:"+ combineJsonArray(jsonArray1.toString))

輸出結果

3args:[{"name":"breeze","age":22},{"name":"lsw","age":20,"addr":"hangzhou"},{"name":"lsw","age":20,"addr":"hangzhou"}]

2args:[{"name":"breeze","age":22},{"name":"lsw","age":20,"addr":"hangzhou"},{"name":"lsw","age":20,"addr":"hangzhou"}]

1args:[{"name":"breeze","age":22},{"name":"lsw","age":20,"addr":"hangzhou"}]