我有java函数,它是json格式的返回输出
{"loyalty_score":{"End Value":0.0,"Difference":0.0},"activity_level":{"End Value":0.0,"Difference":0.0}}
我想获取对象的每个值
我尝试下面的代码
JSONObject json = new JSONObject();
json = fb.Summary();
System.out.print("\n\n\n Json"+json);
//{"loyalty_score":{"End Value":0.0,"Difference":0.0},"activity_level":{"End Value":0.0,"Difference":0.0}}
System.out.print( json.get("loyalty_score"));
//{End Value=0.0, Difference=0.0}
现在如何获得最终价值和差异?
答案 0 :(得分:0)
尝试使用json.get(attributeName)
。
JSONObject loyalty = json.getJSONObject("loyalty_score");
double endValue = loyalty.Double("End Value");
System.out.print("End: " + endValue);
似乎json.get("loyalty_score")
也是一个JSONObject。
答案 1 :(得分:0)
您说json.get("loyalty_score")
为您提供了{End Value=0.0, Difference=0.0}
,它必须再次成为json
个对象。您可以将其类型转换为String:
<% String jLoyaltyScore = json.get("loyalty_score").toString();%>
现在split
jLoyaltyScore
使用,
作为分隔符。
<%
String splitLoyalty[] = jLoyaltyScore .split("//,");
String splitAgain[] = splitLoyalty[0]. split("="); //SPlitting the first elem again
%>
这将为您提供预期的结果:splitAgain[0], splitAgain[1]
。