javajson串轉json對象
Ⅰ java中如何將一個json形式的字元串轉為json對象
org.json.jsonobject
去下一個這個jar包吧。
是專用處理json字元串的。
你的這個需求如果對象單一完成可以半自動化完成。
jsonobject
json
=
new
jsonobject(json字元串)
;
if(json.has("你要解析的json是否存在")){
//.....創建你的對象。
//.....解析值並賦值給你的對象
}
如果要實現完成自動解析就得反射了。
以上回答你滿意么?
Ⅱ Java:傳過來的是個JSON字元串組成的數組,如何將其解析成JSON對象呢
JSONArray jsonArr = JSONArray.fromObject(jsonStr);
Ⅲ 怎樣從java後台獲取json字元串並轉換為json對象輸出
在model層
public List<Map<String,String>> query() throws SQLException
{
List<Map<String,String>> listmap=new ArrayList<Map<String,String>>();
Connection conn=null;
ResultSet rs=null;
String query="SELECT * FROM COURSE";
Statement st=null;
conn=Conn.getConnection();
st=conn.createStatement();
rs=st.executeQuery(query);
while(rs.next())
{
Map<String,String> map=new HashMap<String, String>();
map.put("coursetypeid", rs.getString("COURSE_TYPE_ID"));
map.put("coursename", rs.getString("COURSE_NAME"));
map.put("publish", rs.getString("PUBLISH"));
map.put("publishtime", rs.getString("PUBLISH_TIME"));
map.put("coursenumber", rs.getString("CHAPTER_NUMBER"));
map.put("courseid", rs.getString("COURSE_ID"));
map.put("coursedesc", rs.getString("COURSE_DESC"));
listmap.add(map);
}
conn.close();
return listmap;
}
控制層
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
ConImp c=new ConImp();
String json= c.QueryCourseInfo();
response.getWriter().write(json);
}
最後在頁面通過轉換獲得並顯示。
Ⅳ java怎麼把jsonarray轉化成json
有兩種方法實現:
(1)直接轉換:
創建JSONArray對象、JSONObject對象,通過put方法將其數據以鍵值對的形式填充,如例:
//假如有一個Java實體類Person,包括以下屬性:phone、sex、married、address。
ArrayList<Person> persons = new ArrayList<Person>();
for (int i = 0; i < 3; i++) {
persons.add(new Person("138******67", "女", true, "北京朝陽區"));//填充Java實體類集合
}
JSONArray array = new JSONArray();// Json格式的數組形式
JSONObject obj;//json格式的單個對象形式
for (int i = 0; i < persons.size(); i++) {
obj = new JSONObject();
//依次填充每一個Java實體對象
try {
obj.put("phone", persons.get(i).getPhone());//json通過put方式以key-value形式填充
obj.put("sex", persons.get(i).getSex());
obj.put("married", persons.get(i).getMarried());
obj.put("address", persons.get(i).getAddress());
array.put(obj);//將JSONObject添加入JSONArray
} catch (JSONException e) {
e.printStackTrace();
}
}
(2)通過GSON工具實現:
只需要創建GSON對象,通過toJson方法轉換即可。如例:
//模擬Java數據
Person person = new Person("敏敏", 23, "女", "北京市海淀區");
//創建GSON對象
Gson gson = new Gson();
//調用toJson方法即可轉換為字元串的json格式
String json = gson.toJson(person);
Ⅳ 如何把這樣的json串轉換成對象
1.簡單的解析json字元串
首先將json字元串轉換為json對象,然後再解析json對象,過程如下。
JSONObject jsonObject = JSONObject.fromObject(jsonStr);
[java] view plain
<pre></pre><span style="white-space:pre"></span>
<pre></pre>
根據json中的鍵得到它的值
String name = jsonObject.getString("name");
int num = jsonObject.getInt("num");
String sex = jsonObject.getString("sex");
int age = jsonObject.getInt("age");
2.將json字元串轉換為java對象
同樣先將json字元串轉換為json對象,再將json對象轉換為java對象,如下所示。
JSONObject obj = new JSONObject().fromObject(jsonStr);//將json字元串轉換為json對象
將json對象轉換為java對象
Person jb = (Person)JSONObject.toBean(obj,Person.class);//將建json對象轉換為Person對象
3.將java對象轉換為json字元串
先將java對象轉換為json對象,在將json對象轉換為json字元串
JSONObject json = JSONObject.fromObject(obj);//將java對象轉換為json對象
String str = json.toString();//將json對象轉換為字元串
完整代碼如下:
[java] view plain
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對象
}
}
[java] view plain
package baz.bean;
public class Person {
private String name;
private int num;
private String sex;
private int age;
public Person() {
// TODO Auto-generated constructor stub
}
public Person(String name, int num, String sex, int age) {
super();
this.name = name;
this.num = num;
this.sex = sex;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
將java對象轉換為json字元串
[java] view plain
package baz.cons;
import net.sf.json.JSONObject;
/**
* 將java對象轉換為json字元串
* @author Administrator
*
*/
public class ConsJson {
public ConsJson() {
// TODO Auto-generated constructor stub
}
public String Object2Json(Object obj){
JSONObject json = JSONObject.fromObject(obj);//將java對象轉換為json對象
String str = json.toString();//將json對象轉換為字元串
return str;
}
}
測試類:
[java] view plain
package baz.test;
import java.util.List;
import baz.bean.Person;
import baz.cons.ConsJson;
import baz.parse.ParseJson;
public class Test {
public static void main(String[] args) {
//將字元串轉換為json對象,然後根據建得到相應的值
ParseJson pj = new ParseJson("{\"name\":\"gu\",\"num\":123456,\"sex\":\"male\",\"age\":24}");
pj.parse();
//將一個json字元串轉換為java對象
Person p = pj.JSON2Object();
System.out.println("Name:" + p.getName());
System.out.println("Num:" + p.getNum());
System.out.println("Sex:" + p.getSex());
System.out.println("age:" + p.getAge());
//將一個java對象轉換為Json字元串
Person p1 = new Person("gu1",123,"male",23);
ConsJson cj = new ConsJson();
String str1 = cj.Object2Json(p1);
System.out.println(str1);
}
}
測試輸出如下:
gu 123456 male 24
Name:gu
Num:123456
Sex:male
age:24
{"age":23,"name":"gu1","num":123,"sex":"male"}
Ⅵ java怎麼將json字元串轉換為json對象
轉換方法:
import java.io.*;
import org.json.*;
public class Demo {
public static void main(String[] args) throws Exception {
String str = "{\"id_no\":\"342422198012001122\",\"mobile_no\":\"13666667789\",\"name\":\"徐麗\"}";
JSONObject obj = new JSONObject(str); //在這里轉換。
System.out.println(obj);
System.out.println(obj.get("id_no")); // "342422198012001122"
}
}
要引入fast-json的包或者開源的包json.jar
Ⅶ 如何將json字元串 轉成json對象 java
org.json.jsonobject
去下一個這個jar包吧。
是專用處理json字元串的。
你的這個需求如果對象單一完成可以半自動化完成。
jsonobject
json
=
new
jsonobject(json字元串)
;
if(json.has("你要解析的json是否存在")){
//.....創建你的對象。
//.....解析值並賦值給你的對象
}
如果要實現完成自動解析就得反射了。
以上回答你滿意么?