导航:首页 > 编程语言 > 字符串转就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相关的资料

热点内容
用换机助手接收的软件文件在哪找 浏览:282
阅达app一教一辅五年级有哪些 浏览:7
win10系统用f2调节音量 浏览:19
压缩文件密码器 浏览:840
线下活动数据分析有哪些 浏览:314
助听器插片式编程线如何连接 浏览:293
怎么删除系统休眠文件 浏览:914
搜索文件内容中包含的文字并替换 浏览:542
微信相册程序图标 浏览:714
win8怎么显示文件格式 浏览:547
文件服务器中毒 浏览:721
如何修改网站访问次数 浏览:518
mdfldf是什么文件 浏览:569
文件在桌面怎么删除干净 浏览:439
马兰士67cd机版本 浏览:542
javaweb爬虫程序 浏览:537
word中千位分隔符 浏览:392
迷你编程七天任务的地图怎么过 浏览:844
word2003格式不对 浏览:86
百度云怎么编辑文件在哪里 浏览:304

友情链接