0

我想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}]

你知道怎么做吗?

4

2 回答 2

1

如果这是 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,

于 2013-04-14T21:37:56.067 回答
0

它实际上是有效的 Json,因此您可以使用 Json 库(其中任何一个)将 Json 加载到对象并访问该值 - 如果您在将其加载到对象时遇到问题,也许您可​​以更改您的问题并显示我们的错误?

如果有任何机会,您可能会收到无效 Json 的响应您可以使用正则表达式:

如果你总是有同样的模式,比如:

\"name\":\"\d+:(\d\.\d+),\" 

您的价值将在于捕获第一组。

如果您不确定如何在 Java 中使用正则表达式,只需搜索 SO 或 Google,这里有大量示例。

于 2013-04-14T21:37:04.693 回答