如何将数据实体转换为 JSON 字符串

如题所述

将数据实体转换为 JSON 字符串的方法:

先将java对象转换为json对象,在将json对象转换为json字符串
JSONObject json = JSONObject.fromObject(obj);//将java对象转换为json对象

String str = json.toString();//将json对象转换为字符串
参考代码如下:

package baz.parse;

import java.util.ArrayList;
import java.util.List;

import net.sf.json.JSON;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import baz.bean.Person;

public class ParseJson {

private String jsonStr;

public ParseJson() {

}

public ParseJson(String str){
this.jsonStr = str;
}
/**
* 解析json字符串
*/
public void parse(){
JSONObject jsonObject = JSONObject.fromObject(jsonStr);
String name = jsonObject.getString("name");
int num = jsonObject.getInt("num");
String sex = jsonObject.getString("sex");
int age = jsonObject.getInt("age");

System.out.println(name + " " + num + " " + sex + " " + age);
}
//将json字符串转换为java对象
public Person JSON2Object(){
//接收{}对象,此处接收数组对象会有异常
if(jsonStr.indexOf("[") != -1){
jsonStr = jsonStr.replace("[", "");
}
if(jsonStr.indexOf("]") != -1){
jsonStr = jsonStr.replace("]", "");
}
JSONObject obj = new JSONObject().fromObject(jsonStr);//将json字符串转换为json对象
Person jb = (Person)JSONObject.toBean(obj,Person.class);//将建json对象转换为Person对象
return jb;//返回一个Person对象
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-17
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<HTML>  
<HEAD>  
<TITLE> New Document </TITLE>  
  
<SCRIPT LANGUAGE="JavaScript">  

var
 t="{'firstName': 'cyra', 'lastName': 'richardson', 'address': { 
'streetAddress': '1 Microsoft way', 'city': 'Redmond', 'state': 'WA', 
'postalCode': 98052 },'phoneNumbers': [ '425-777-7777','206-777-7777' ] 
}";  
    var jsonobj=eval('('+t+')');  
    alert(jsonobj.firstName);  
    alert(jsonobj.lastName);  

var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] ";  
var myobj=eval(t2);  
for(var i=0;i<myobj.length;i++){  
   alert(myobj[i].name);  
   alert(myobj[i].age);  
}  
  
var
 t3="[['<a href=# 
onclick=openLink(14113295100,社旗县国税局桥头税务
所,14113295100,d6d223892dc94f5bb501d4408a68333d,swjg_dm);>14113295100</a>','
社旗县国税局桥头税务所','社旗县城郊乡长江路西段']]";  
//通过eval() 函数可以将JSON字符串转化为对象  
var obj = eval(t3);  
for(var i=0;i<obj.length;i++){  
   for(var j=0;j<obj[i].length;j++){  
alert(obj[i][j]);  
   }  
  
}  
  
/*  
//stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。  
var jsonText = JSON.stringify(obj);  
alert(jsonText);  
  
//如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。  
var myObject = JSON.parse(myJSONtext, filter);    
//可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:  
//如  
myData = JSON.parse(text, function (key, value) {         
  
return key.indexOf('date') >= 0 ? new Date(value) : value;    });  
  
//stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。  
var myJSONText = JSON.stringifier(myObject);  
*/  
</SCRIPT>  
</HEAD>  
  
<BODY>  
  
</BODY>  
</HTML>

示例

本回答被网友采纳
第2个回答  2018-07-31
C#有个很好用的第三方程序集叫Json.Net,最简单的序列化方法:string json = JsonConvert.SerializeObject(要序列化的对象);本回答被网友采纳