请问json有没有长度限制 java中json字符串怎么转json对象
请问json有没有长度限制?
没有长度限制,不过太长了,浏览器解析的时候会慢,另附,一楼的老兄,你的做法肯定有问题,你不论怎么写也不应该是JSON超长报错,对后台程序来讲,JSON就是一个字符串,如果出现报错,你看看是不是你的String报错哈,如果是,就改成流来做就好啦
java中json字符串怎么转json对象
给你个思路:
1、将jsonstr转为json对象 (这个可以用net.sf.json.JSONObject第三方包来实现)
2、根据refObj 这个key获取{existType:exist,deptType:emp,treeNodeType:dept},把获取的这数据再转为json.
3、将转后的json根据existType就能取得值了 。
JS中如何把JSON格式的字符串转化为一个对象或数组呢?
var obj = eval(( str )) var obj = str.parseJSON() //由JSON字符串转换为JSON对象 var obj = JSON.parse(str) //由JSON字符串转换为JSON对象
如何将json字符串转换为对象
先来解释反斜杠干嘛用的:
你既然提到了是json字符串,对,请注意字符串三个字。什么是字符串?两个引号之间的就是一个字符串比如:"abcdefg"这就是字符串.
假如我有个json对象:
{
"message" : "success"
}
那么问题来了,怎么把它放到一个String字符串对象里呢?
那么我们都会这么做:
如何把这样的json串转换成对象
1.简单的解析json字符串
首先将json字符串转换为json对象,然后再解析json对象,过程如下。
JSONObject jsonObject = JSONObject.fromObject(jsonStr)
[java] view plain copy
根据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 copy
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 copy
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 copy
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 copy
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 2Name:gu
Num:12345Sex:male
age:2{"age":23,"name":"gu1","num":123,"sex":"male"}
如何将json字符串 转成json对象 java
Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,主要用途为序列化Java对象为JSON字符串,或反序列化JSON字符串成Java对象.
参考:https://zh.wikipedia.org/wiki/Gson
java,如何 将json字符串 解析成对象
下载这几个包,导入项目,
JSONObject obj= new JSONOjbect().fromObject(test)
JSONObject json= new JSONOjbect().fromObject(obj.getObject("xxx"))
System.out.println(json.getString("A"))
System.out.println(json.getString("B"))