javax.json:从List <Integer>构建JSONArray并将其添加到

简单的任务,但我找不到办法。

我的输出JSON需要

{
   "id" : "somestring", 
   "nums" : [44,31,87,11,34]}

我正在使用/ 的javax.json库。还有一个,它与在第二字段中的值。这些不是对象,这些是普通数字。我不知道如何从Integer获取JSONValue。JSONObjectJsonArrayList<Integer>

        Map<String, Object> config = new HashMap<String, Object>();
        JsonBuilderFactory factory = Json.createBuilderFactory(config);
        JsonArray jsonArray = (JsonArray) Json.createArrayBuilder();
        for (Integer num: nums) // Assume a List<Integer> nums
            jsonArray.add(..); // What to do here? JSONValue from an Integer?
                               // Can't do jsonArray.add(num)

        // Final Object
        JsonObject value = factory.createObjectBuilder()
            .add("id", id)
            .add("nums", jsonArray); // Link up jsonArray to the 2nd Add

注意 - 无法直接添加整数

https://img1.mukewang.com/5cdbf1900001124e05460144.jpg

Smart猫小萌
浏览 1423回答 4
4回答

海绵宝宝撒

也许你应该尝试这个代码。for(Integer&nbsp;num&nbsp;:&nbsp;nums) &nbsp;&nbsp;&nbsp;jsonArray.add(num.intValue());

慕尼黑5688855

我在你的代码中看到你已经在循环中使用Integer类,它是基本类型int的对象类型包装器。所以调用jsonArray.add应该可以工作,因为num是一个对象而不是一个基本类型。for&nbsp;(Integer&nbsp;num:&nbsp;nums)&nbsp;//&nbsp;Assume&nbsp;a&nbsp;List<Integer>&nbsp;nums &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jsonArray.add(num);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java