導航:首頁 > 編程語言 > 字元串轉就jsonobject

字元串轉就jsonobject

發布時間:2024-01-05 08:36:18

㈠ 如何把這樣的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"}

㈡ 如何將string轉換成json

string轉json有三種方法

第一種:string直接轉json

String json = "{"2":"efg","1":"abc"}"; JSONObject json_test =
JSONObject.fromObject(json); 將string的雙引號轉義即可,適用於字元串較短的

第二種:將string轉為list後轉為json

Listlist = new ArrayList(); list.add("username");
list.add("age"); list.add("sex"); JSONArray array = new JSONArray();
array.add(list);

可以使用list的add函數將需要的字元串拼接即可,但是這個只能使用jsonarry

第三種:將string轉為map後轉為json

Mapmap = new HashMap();

map.put("1", "abc");

map.put("2", "efg");

JSONArray array_test = new JSONArray();

array_test.add(map);

JSONObject jsonObject = JSONObject.fromObject(map);

這里使用map就可以將字元串轉化為JSONArray或者JSONObject都可以,但是這里的鍵不能使用int型

㈢ 怎樣從java後台獲取json字元串並轉換為json對象輸出

使用json-lib.jar這個工具x0dx0apublic String getJson(Object obj){x0dx0a JSONObject json;x0dx0a json = JSONObject.fromObject(obj);x0dx0a return json.toString();x0dx0a}x0dx0a使用jquery來處理jsonx0dx0a//轉換為json數據 datas可以用ajax從後台獲取上面getJson中的數據x0dx0avar jsonDatas = eval("(" + datas + ")");x0dx0a //循環遍歷數據x0dx0ajQuery.each(jsonDatas, function(item) {x0dx0a//循環x0dx0a});

㈣ java怎麼將string數組轉換為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();

㈤ java中字元串怎麼轉json

string類型如果要轉換成json的話,就需要寫成這樣的形式,如下:x0dx0aString jsonStr ="{'id':ཇ','parentId':'root','refObj':{'existType':'exist','deptType':'emp','treeNodeType':'dept'}}";x0dx0a JSONObject jsonObj = new JSONObject(jsonStr);x0dx0a JSONObject refObj = new JSONObject(jsonObj.getString("refObj"));x0dx0a String existType = refObj.getString("existType");x0dx0a System.out.println(existType);x0dx0ajar使用的是org.json.jar

㈥ String字元串轉為json對象時順序如何保持不變。

你好!

需要引入fastjson這個包,而且版本要高於1.2.3,因為Feature.OrderedField是從1.2.3開始引入的。

importjava.util.HashMap;
importjava.util.LinkedHashMap;

importcom.alibaba.fastjson.JSONObject;
importcom.alibaba.fastjson.parser.Feature;

publicclassTest{
publicstaticvoidmain(String[]args){
JSONObjectjson=newJSONObject();
StringjsonStr="{"t1":"","t3":"","t2":{"a1":"","a3":"","a2":""}}";
HashMapm=json.parseObject(jsonStr,LinkedHashMap.class,Feature.OrderedField);
System.out.println(m.toString());
}
}
結果:
{t1=,t3=,t2={"a1":"","a3":"","a2":""}}

希望對你有幫助!

㈦ Java中String轉JSONOBJECT,數字精度丟失

復制的你的代碼,運行結果如下:


如果實在不行,你把JSONObject.fromObject(xml);換成JSONObject.fromString(xml);試試。

㈧ 我現在後台有一個String 型的 message ,怎樣將其轉換為jsonObject 然後傳到前台,具體是怎樣轉換,急啊!

var data="{'name':'jack'}";
var json = eval("("+data+")")
alert(json.name);
是不是這個?
或者是這個?
public static String toJSON(Object obj) {
<String, String> map = new HashMap<String, String>();
Class c = obj.getClass();
Field[] fields = c.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
String name = fields[i].getName();
try {fields[i].setAccessible(true);
Object o = fields[i].get(obj);
if (o instanceof Number) {
map.put("\"" + name + "\"", o.toString());
} else if (o instanceof String) {
map.put("\"" + name + "\"", "\"" + o.toString() + "\"");
}
} catch (IllegalArgumentException e) {

} catch (IllegalAccessException e) {

}
}
String s = map.toString();
String str = s.replaceAll("\"=", "\":");
return str;
}

閱讀全文

與字元串轉就jsonobject相關的資料

熱點內容
現在什麼網站銷量最高 瀏覽:760
angularjsclass定義 瀏覽:157
ug數控編程怎麼導出程序 瀏覽:466
cmdb文件 瀏覽:710
鵯文件夾 瀏覽:763
網路輿情應對的基本理念是什麼 瀏覽:433
word2007層次結構 瀏覽:456
去掉文件名的數字 瀏覽:713
word公司 瀏覽:710
淘寶店數據包怎麼上傳 瀏覽:341
pbt文件 瀏覽:204
HX基礎編程怎麼改變字體 瀏覽:876
怎麼開網路教學 瀏覽:915
630升級工程武器 瀏覽:936
用換機助手接收的軟體文件在哪找 瀏覽:282
閱達app一教一輔五年級有哪些 瀏覽:7
win10系統用f2調節音量 瀏覽:19
壓縮文件密碼器 瀏覽:840
線下活動數據分析有哪些 瀏覽:314
助聽器插片式編程線如何連接 瀏覽:293

友情鏈接