您的位置:首页 > 编程语言 > Java开发

解析Json 出现——java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

2016-06-13 10:20 567 查看
在后台写了一个调用百度api接口,将GPS坐标转换成百度坐标的方法,

获得返回的一个json串,

jsonStr = "{\"status\":0,\"result\":[{\"x\":123.98636285887,\"y\":42.457133104428},{\"x\":123.98739247735,\"y\":42.462356027015}]}";

用main方法测试解析这个json串

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

JSONObject jsonobj = JSONObject.fromObject(jsonStr); 
JSONArray objs = jsonobj.getJSONArray("result");
String[] db = new String[4];
 
JSONObject jo = objs.optJSONObject(0);
String x = jo.getString("x");
String y = jo.getString("y");
db[0]=x;
db[1]=y;
JSONObject jo1 = objs.optJSONObject(1);
String x1 = jo1.getString("x");
String y1 = jo1.getString("y");
db[2]=x1;
db[3]=y1;

完全没有问题。

但是在Jfinal 框架下,用web,从页面点击进入Controller->调用这个转换方法,解析的过程中

在JSONObject jsonobj = JSONObject.fromObject(jsonStr); 处报错:

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException



很遗憾,不知道问题是什么,

没办法为了赶工,就用了阿里巴巴的fastjson,运行没有问题

import com.alibaba.fastjson.JSONObject;

import com.alibaba.fastjson.JSONArray;

代码片段,

JSONObject jsonobj = JSONObject.parseObject(jsonStr);
JSONArray objs = jsonobj.getJSONArray("result");
String[] db = new String[4];

问题解决。

虽然有些遗憾未能找到原因。有时间再琢磨琢磨
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: