当前位置:首页 » 编程语言 » javajson字符串

javajson字符串

发布时间: 2023-05-18 08:03:41

㈠ 关于java处理JSON字符串的新手问题

第一点:你既然使用了net.sf.json.JSONObject对象引入了jar包直接使用其的fromObject将对象转为字符串闹档效率更高,出错的概率也更小一些。

第二点:对象中套对象的方式也很简单,稿如如这样

public static void main(String[] args) {

Map map1 = new HashMap();
Map map2 = new HashMap();
Map map3 = new HashMap();

map3.put("value","Male");
map2.put("gender",map3);
map1.put("attributes",map2);

JSONObject json = JSONObject.fromObject(map1);
System.out.println(json);
}

㈡ 怎样从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解析一个json字符串

public static void main(String[] args){

String temp="{'data':{'a':[{'b1':'bb1','c1':'cc1'},{'b2':'bb2','c2':'cc2'}]}}";

JSONObject jodata =JSONObject.fromObject(temp);

JSONObject joa =JSONObject.fromObject(jodata.get("data").toString());

JSONArray ja=JSONArray.fromObject(joa.get("a"));

for(int i=0;i<ja.size();i++){

JSONObject o=ja.getJSONObject(i);

if(o.get("b1")!=null){

System.out.println(o.get("b1"));

}

if(o.get("c1")!=null){

System.out.println(o.get("c1"));

}

if(o.get("b2")!=null){

System.out.println(o.get("b2"));

}

if(o.get("c2")!=null){

System.out.println(o.get("c2"));

}

}

}

注:要包含两个jar包ezmorph-1.0.6.jar和json-lib-2.2.2-jdk15.jar,jar包在附件中

㈣ java解析json字符串里面字段不能为空的工具类

解析JSON字符串时,如果某个字段仿坦为空,可能会导致程序出现异常或错误结果。为了避免这种情况,可以使用工具类来确保字段不为空。

在Java中,可以使用Gson库来解析JSON字符串。Gson提供了fromJson()方法将让漏JSON字符串转换为Java对象,但是如果JSON字符串中某个字段为空,fromJson()方法会将该字段解析为null值。为了避免这种情况,可以使用GsonBuilder类中的setLenient()方法来禁用该特坦大烂性,这样在解析JSON字符串时如果发现某个字段为空,就会抛出异常。

另外,还可以使用Jackson库来解析JSON字符串。Jackson库提供了ObjectMapper类来进行JSON与Java对象之间的转换。可以使用它的setSerializationInclusion()方法来设置序列化规则,如果字段值为null则忽略该字段,如果字段值为非null则进行序列化。

因此,为了确保JSON字符串里面的字段不为空,可以使用Gson或Jackson库提供的相关方法或设置。

㈤ java将json字符串转换成对象批量存储数据

使用toJSONString()或者全局方法JSON.stringify()。将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,JS操作的是JSON对象,JSON对象和JSON字符串之间的相互转换是关键。

㈥ Java解析json数据

一、 JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。
Json建构于两种结构:
1、“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 如:
{
“name”:”jackson”,
“age”:100
}

2、值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)如:
{
“students”:
[
{“name”:”jackson”,“age”:100},
{“name”:”michael”,”age”:51}
]
}
二、java解析JSON步骤
A、服务器端将数据转换成json字符串
首先、服务器端项目要导入json的jar包和json所依赖的jar包至builtPath路径下(这些可以到JSON-lib官网下载:http://json-lib.sourceforge.net/)

然后将数据转为json字符串,核心函数是:
public static String createJsonString(String key, Object value)
{
JSONObject jsonObject = new JSONObject();
jsonObject.put(key, value);
return jsonObject.toString();
}
B、客户端将json字符串转换为相应的javaBean
1、客户端获取json字符串(因为android项目中已经集成了json的jar包所以这里无需导入)
public class HttpUtil
{

public static String getJsonContent(String urlStr)
{
try
{// 获取HttpURLConnection连接对象
URL url = new URL(urlStr);
HttpURLConnection httpConn = (HttpURLConnection) url
.openConnection();
// 设置连接属性
httpConn.setConnectTimeout(3000);
httpConn.setDoInput(true);
httpConn.setRequestMethod("GET");
// 获取相应码
int respCode = httpConn.getResponseCode();
if (respCode == 200)
{
return ConvertStream2Json(httpConn.getInputStream());
}
}
catch (MalformedURLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return "";
}

private static String ConvertStream2Json(InputStream inputStream)
{
String jsonStr = "";
// ByteArrayOutputStream相当于内存输出流
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
// 将输入流转移到内存输出流中
try
{
while ((len = inputStream.read(buffer, 0, buffer.length)) != -1)
{
out.write(buffer, 0, len);
}
// 将内存流转换为字符串
jsonStr = new String(out.toByteArray());
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return jsonStr;
}
}
2、获取javaBean
public static Person getPerson(String jsonStr)
{
Person person = new Person();
try
{// 将json字符串转换为json对象
JSONObject jsonObj = new JSONObject(jsonStr);
// 得到指定json key对象的value对象
JSONObject personObj = jsonObj.getJSONObject("person");
// 获取之对象的所有属性
person.setId(personObj.getInt("id"));
person.setName(personObj.getString("name"));
person.setAddress(personObj.getString("address"));
}
catch (JSONException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

return person;
}

public static List<Person> getPersons(String jsonStr)
{
List<Person> list = new ArrayList<Person>();

JSONObject jsonObj;
try
{// 将json字符串转换为json对象
jsonObj = new JSONObject(jsonStr);
// 得到指定json key对象的value对象
JSONArray personList = jsonObj.getJSONArray("persons");
// 遍历jsonArray
for (int i = 0; i < personList.length(); i++)
{
// 获取每一个json对象
JSONObject jsonItem = personList.getJSONObject(i);
// 获取每一个json对象的值
Person person = new Person();
person.setId(jsonItem.getInt("id"));
person.setName(jsonItem.getString("name"));
person.setAddress(jsonItem.getString("address"));
list.add(person);
}
}
catch (JSONException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

return list;
}

㈦ java怎么拼接json字符串

1、使用原生的解析知宴:
String json = "...";
JSONArray array= new JSONArray(json);
//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对稿兄象完成后添加到集合中,如我自己代码里键猛袭的片段:
for (int j = 0; j < array.length(); j++) {
obj = array.getJSONObject(j);
Data data = new Data();
data.setThumbnail(obj.getString("thumbnail"));
data.setTitle(obj.getString("title"));
data.setUrl(obj.getString("url"));
mDataList.add(data);
}

2、使用第三方包如Gson,但是这个你得保证你的JSON字符串个z

㈧ java 解析json字符串

你好:

后台拆分json

privateStringinteractPrizeAll;//json使用字符串来接收
方法中的代码:
Gsongson=newGson();
InteractPrizeinteractPrize=newInteractPrize();
//gson用泛型转List数组多个对象
List<InteractPrize>interactPrizeList=gson.fromJson(interactPrizeAll,newTypeToken<List<InteractPrize>>(){}.getType());//TypeToken,它是gson提供的数据类型转换器,可以支持各种数据集合类型转换
for(inti=0;i<interactPrizeList.size();i++)
{
interactPrize=interactPrizeList.get(i);//获取每一个对象
}
这一种方法是转单个对象时使用的
//gson转对象单个对象
//interactPrize=gson.fromJso(interactPrizeAll,InteractPrize.class);

这个方法是我后台拼的json往前台传的方法
jsonStrAll.append("{"+"""+"catid"+"""+":"+"""+c.getCatid()+"""+","+"""+"catname"+"""+":"+"""+c.getCatname()+"""+","+"""+"catdesc"+"""+":"+"""+c.getCatdesc()+"""+","+"""+"showinnav"+"""+":"+"""+c.getShowinnav()+"""+","+"""+"sortorder"+"""+":"+"""+c.getSortorder()+"""+","+"level:"+"""+"0"+"""+",parent:"+"""+"0"+"""+",isLeaf:true,expanded:false,"+"loaded:true},");

你自己挑着用吧!

热点内容
oracle存储过程同步 发布:2025-07-16 02:29:18 浏览:940
欧诺s买哪个配置的好 发布:2025-07-16 02:26:22 浏览:558
热点可以建立ftp吗 发布:2025-07-16 02:26:21 浏览:303
如何选择最佳配置 发布:2025-07-16 01:56:44 浏览:603
mad加密 发布:2025-07-16 01:52:12 浏览:424
linux64位内存 发布:2025-07-16 01:02:36 浏览:960
压缩衣尺码表 发布:2025-07-16 00:47:33 浏览:640
安卓恢复了出厂怎么找回照片 发布:2025-07-16 00:43:56 浏览:933
为什么说服务器已停止响应 发布:2025-07-16 00:29:36 浏览:392
python判断字符串是否为空 发布:2025-07-16 00:21:47 浏览:210