gpt4 book ai didi

android - 使用变量时无法从 JSON 对象获取名称/值对

转载 作者:行者123 更新时间:2023-11-29 01:59:39 25 4
gpt4 key购买 nike

在使用变量时无法从 JSON 对象获取名称/值对,但在对名称进行硬编码时能够读取它。

为了更好地解释:

1) 我的 JSON 对象是这样的 - {..... { “费率”:{ “name1”:value1,“name2”:value2 ...等} ...

2) 我可以在我的 android 应用程序中读取这个对象。

3) 现在这个速率对象名称值对,我正在尝试根据用户输入读取 -

          String s1 = '"'+name1+'"';  // here name1 i got from user input, & converted into string

4) 现在,当我尝试从 rates 对象获取值时,出现空异常 -

            JSONObject rateObject = jObject.getJSONObject("rates");  //able to get  
complete object

String rate1 = (String) rateObject.get(s1); // giving NULL exception

5) 但如果我使用硬编码字符串,它就可以工作 -

            String rate1 = (String) rateObject.get("name1"); // working

任何指针为什么它在使用变量时不起作用。

谢谢


感谢您的建议,我解决了问题。我犯了 2 个错误 - 1) 使用其他人正确指出的引号和 2) 将 double 值转换为字符串。更正两者都解决了我的问题:)

最佳答案

就您的最终代码 fragment 而言,您实际上正在做

String rate1 = (String) rateObject.get("\"name1\""); //note the extra quotes

因为您已经用双引号字符将用户输入的字符串作为书尾。您只需要输入字符串本身没有书挡。 JSON 符号中的引号用于描述每个键名;引号不是键名本身的一部分。

创建s1时需要省略引号:

String s1 = name1;

或者,如果 name1 已经不是字符串:

String s1 = name1.toString();

关于android - 使用变量时无法从 JSON 对象获取名称/值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13300122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com