当前位置:首页>开发>正文

请问json有没有长度限制 java中json字符串怎么转json对象

2023-06-21 23:08:37 互联网 未知 开发

 请问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"))

最新文章