【发布时间】:2018-02-25 03:53:04
【问题描述】:
String user=database.getUserDetails();
String user_id=user.get("id");
String delivered;
在这种情况下,传递的字符串是一些未解析的 json,例如
[{" delivered ":" 1"}, {"delivered ":" 11"},{"delivered ":" 19"}]
现在我想做一个类似的检查
if(delivered.toLowerCase().contains(user_id)
问题是在这种情况下,它将返回 11 和 19,因为它包含 1,因此我希望能够检查交付时是否在双引号中包含“user_id”,以确保仅出现该确切数字回来。有人请指出我正确的方向谢谢
【问题讨论】:
-
如果您要比较的值确实被视为整数,您可以将它们解析为整数并改为比较整数。请参阅 Integer.parseInt 和 String.trim。
-
它们是整数,但包裹在其他字符之间,单独提取整数是一个问题
-
这是解析 JSON 对象的错误方式。您应该使用一些库来让您从 JSON 对象中获取元素。不要把它当作一个简单的字符串来处理。
-
问题是这个数组是我已经解析过的更大 JSON 对象的一个对象,所以我不知道如何从 php 代码到 java 部分接收和解析另一个对象,所以我只是想我会得到一个字符串然后检查所需的整数,但是到目前为止它还没有解决