当前位置: 代码迷 >> J2EE >> 字符串转成对象,该怎么解决
  详细解决方案

字符串转成对象,该怎么解决

热度:30   发布时间:2016-04-17 23:36:35.0
字符串转成对象
"data": "{\"dbid\":\"1\",\"name\":\"基础数据\",\"nameEn\":\"Base Data\",\"parent\":{\"dbid\":\"-1\",\"name\":\"根菜单\",\"nameEn\":\"root\"},\"order\":0}",

如何将这种字符串形式转化成对象?
类似于这种形式的:
“data”:[{
            "dbid": "2026b7a4-6c94-49bc-974f-eb5d963438d7",
            "name": "我很好啊",
            "desc": "是吗",
            "createDate": 1409125668000,
            "modifyDate": null,
            "isInUse": true,
            "authorities": null
        }],

------解决思路----------------------
1、这属于JSON字符串,不知道可以去搜一下JSON,用JSON的第三方jar包有转对象的方法
2、自己拆分字符串组装成对象
前提是你要有一个类(属性)对应这些字符串中值
------解决思路----------------------
json-lib  --JSONObject.fromObject(字符串) 
------解决思路----------------------
这个字符串是json格式的,可以先查下资料,理解下json格式的规则


另外,支持json解析和转换(String ->bean, bean->String)的工具jar包还是多的,向的fastjson, 还有jacksonjson, net.sf.json.JSONObject等等多种
------解决思路----------------------
使用jackson包,
先定义好的自己的类(MyClass)


ObjectMapper objectMapper=new ObjectMapper();
            MyClass myClass=objectMapper.readValue(str, MyClass.class);

------解决思路----------------------
1、建好对应的类
2、用json-lib这个包,先将字符串转为json格式:JSONObject json = JSONObject.fromObject(xxxx);
3、利用tobean()方法转化为java对象:JSONObject.toBean(bean,bean.class);
------解决思路----------------------
如果用的springmvc就很好解决:

@RequestMapping("/test/json")
@ResponseBody
public String testJson(){
String json = "{\"dbid\":\"1\",\"name\":\"...\",\"nameEn\":\"Base Data\",\"parent\":{\"dbid\":\"-1\",\"name\":\"根菜单\",\"nameEn\":\"root\"},\"order\":0}";
return json;

}



------解决思路----------------------
 var dataVavle = evel('"+data+"');

转换成对象,取值直接dataVavle .你的属性名就可以咯

试试,希望对你有帮助
------解决思路----------------------
如果想后台转的话用 JSONObject  jsonObj = JSONObject.fromObject(jsonStr); 就Ok了,想把json传到前台用的话,直接传字符串,然后再用var date = eval("("+date+")");这样就解析成json了 
  相关解决方案