从jsp中的json对象获取值

时间:2013-08-26 12:34:14

标签: java json jsp

我有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}

现在如何获得最终价值和差异?

2 个答案:

答案 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]