一、JAR包
json数据封装依赖的jar包是阿里提出的fastjson.jar.
二、servlet页面
1 ForceChart forceChart=parseClusterResult.getForceChart(evalStr,clusterNumber);//需要转换成Jason数据格式的实体类。 2 out.println(JSON.toJSON(forceChart)); //引入jar包之后,直接调用该方法就可以。 3 out.close(); //关闭out对象。
三、在js文件中解析json数据
1 function showMessage() { 2 if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200){ 3 4 /*---------------------------------------------对json数据的解析---------------------------*/ 5 result = xmlHttpRequest.responseText; 6 var forceChart=JSON.parse(result); //调用parse函数 7 nodes=forceChart.nodes; //nodes.links,categories对应forceChart实体类的三个属性。 8 links=forceChart.links; 9 categories=forceChart.categories; 10 }
四、注意事项
在json数据的封装中,一个实体类的数据类型在json字符串中都是有所反映的。比如int、string是不同的。
在js中解析时,封装之前的数据类型是什么,解析之后的数据类型同样是什么类型。
由于忽略了数据类型,jsp中显示的数据格式要求是int类型,由于在实体类时,把所有的数字全部定义成了string.导致目标效果不出现。