我想0.81
从以下字符串中提取值,但我不知道如何。使用 JSON 不起作用,因为据我所知它不是正确的 JSON 代码。
[{"boundingbox":{"size":{"height":239.23,"width":239.23},"tl":{"y":46.15,"x":166.92}},"name":"152 :0.81,","信心":0.9}]
你知道怎么做吗?
如果这是 JSON,它看起来是,将其加载为 JSON 对象并
JSONArray jsonArray = new JSONArray(thatString);
JSONObject jObj = jsonArray.getJSONObject(0);
String name = jObj.getString("name");
然后它会给你一个字符串“152:0.81”,一个奇怪的名字 - 但是我会拆分它:
String[] tokens = name.split(":");
令牌[0] 将是 152
令牌[1] 将是 0.81,
它实际上是有效的 Json,因此您可以使用 Json 库(其中任何一个)将 Json 加载到对象并访问该值 - 如果您在将其加载到对象时遇到问题,也许您可以更改您的问题并显示我们的错误?
如果有任何机会,您可能会收到无效 Json 的响应,您可以使用正则表达式:
如果你总是有同样的模式,比如:
\"name\":\"\d+:(\d\.\d+),\"
您的价值将在于捕获第一组。
如果您不确定如何在 Java 中使用正则表达式,只需搜索 SO 或 Google,这里有大量示例。