我對Java 8 lambdas和東西很陌生......我想寫一個lambda函數,它需要一個JsonArray,遍歷它的JsonObjects並創建一個特定字段的值列表。Java 8:如何編寫lambda流以使用JsonArray?
例如,使用JsonArray:[{name:「John」},{name:「David」}]並返回[「John」,「David」]的列表的函數。
我寫了下面的代碼:
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class Main {
public static void main(String[] args) {
JSONArray jsonArray = new JSONArray();
jsonArray.add(new JSONObject().put("name", "John"));
jsonArray.add(new JSONObject().put("name", "David"));
List list = (List) jsonArray.stream().map(json -> json.toString()).collect(Collectors.toList());
System.out.println(list);
}
}
但是,我得到一個錯誤:
Exception in thread "main" java.lang.NullPointerException
你知道如何解決它?
'把()'返回以前的*值*用這個名字,意思是'你的情況null'。 'put()'不是[鏈接方法](https://en.wikipedia.org/wiki/Method_chaining)。 – Andreas