当前位置: 首页 > 面试题库 >

生成JSONObject字符串键

商泽宇
2023-03-14
问题内容

我有使用org.json.JSONObject的Iterator的现有代码

JSONObject obj = new JSONObject();
obj.put("key1", "value1");
obj.put("key2", "value2");
Iterator keys = obj.keys();
...

带有编译警告

Iterator is a raw type. References to generic type Iterator<E> should be

parameterized

我可以更新为通用版本:

Iterator<?> keys = obj.keys();

但是,是不是有办法“泛型化” JSONObjectString钥匙?

我找到了这个答案,但是它的建议没有编译

JSONObject<String,Object> obj=new JSONObject<String,Object>();

编辑

使用Iterator<String> keys = obj.keys();我收到类型安全警告:

Type safety: The expression of type Iterator needs unchecked conversion

to conform to Iterator

同样使用Eclipse Infer泛型也不会执行任何代码更改


问题答案:

您提供的链接答案所使用的类别与您使用的类别不同。如果您查看源代码,org.json.JSONObject将会发现以下内容:

public Iterator<String> keys() {
    return this.keySet().iterator();
}

这意味着您可以编写以下代码:

    JSONObject obj = new JSONObject();
    obj.put("key1", "value1");
    obj.put("key2", "value2");
    Iterator<String> keys = obj.keys();

    while(keys.hasNext()){
        System.out.println(keys.next());
    }

它将生成以下输出:

key1
key2


 类似资料:
  • 问题内容: 这是jsonObject的字符串 我想将此字符串转换为JSONObject以在JSONArray中获取此值 问题答案: 使用这个: 输出:

  • <?php $random=sp_random_string();//不指定位数,默认为6位 echo $random; //或者 $random=sp_random_string(8);//指定返回8位随机字符串 echo $random; ?>

  • 本文向大家介绍PHP 生成随机字符串,包括了PHP 生成随机字符串的使用技巧和注意事项,需要的朋友参考一下 要使用PHP生成随机字符串,代码如下- 示例 输出结果 示例 现在让我们来看另一个示例- 输出结果

  • 我在处理decrypt方法时有问题。加密会产生正确的输出,但当我解密完全相同的加密字符串(应该返回明文字符串)时,它就不起作用了。 我已经看过这个帖子了,跟我的问题一样。我遵循了建议(更改getBytes()->getBytes(UNICODE_FORMAT)),但它仍然是一样的。我仍然得到一个异常(javax.crypto.IllegalBlocksizeException:输入长度不是16字节

  • cmf_random_string($len = 6) 功能 随机字符串生成 参数 $len: string 生成的字符串长度 返回 string 随机字符串

  • 问题内容: 我正在寻找实现以下目标的方法: 我可以自己编写它,但是在我看来,我曾经看过一个执行此操作的库,可能是slf4j记录器,但是我不想编写日志消息。我只想生成字符串。 您知道这是哪个图书馆吗? 问题答案: 参见方法。