我想从以下字符串中提取值0.81
,但我不知道如何。使用JSON不起作用,因为据我所知,它不是正确的JSON代码。
[{ “外接矩形框”:{ “尺寸”:{ “高度”:239.23, “宽度”:239.23}, “TL”:{ “Y”:46.15, “×”:166.92}}, “姓名” : “152:0.81,”, “信任”:0.9}]
你知道怎么做吗?
答案 0 :(得分: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,
答案 1 :(得分:0)
它实际上是有效的Json,因此您可以使用Json库(其中任何一个),将Json加载到Object并访问该值 - 如果您在将此加载到Object时遇到问题,也许您可以更改问题并告诉我们错误?
如果您有可能获得不是有效Json的回复,您可以使用正则表达式:
如果你总是有相同的模式,比如:
\"name\":\"\d+:(\d\.\d+),\"
你的价值在于捕捉第一组。
如果您不确定如何在Java中使用正则表达式,只需搜索SO或Google,就会有大量示例。