导航:首页 > 编程语言 > javajson组装

javajson组装

发布时间:2023-01-17 05:46:19

1. java实现复杂的 xml 转化为 JSON

提供一种方案:xml通过jaxb转换成java对象,
然后java对象再转换为json, 都有现成的框架。

2. java 怎样进行json字符串拼接

一般都是用json解析包去做json的转换的,例如用Gson,可以把一个对象转为json字符串,也可以逆向把json字符串转为对象。

例如:

Map<String,Object>map=newHashMap<String,Object>();
map.put("key01","value01");
map.put("key02","value02");
Stringjson=newGson().toJson(map);
//则json为{"key01":"value01","key02":"value02"}

如果要用手动拼接的话,就拼接成json格式的字符串就可以了,注意"要做转义

例如:

Stringvalue01="value01";
intvalue02=123;
Stringjson="{"key01":""+value01+"","key02":"+value02+"}";
//打印结果为{"key01":"value01","key02":123}
//注意int值不需要加引号

3. java怎样进行json字符串拼接

StringBuffer

利用StringBuffer来拼接和截取,如果是拼接字符串强烈建议使用StringBuffer。这样可以防止内存泄露,否则大量用Str=str1+str2,会造成内存溢出用法如图。

4. java如何创建Json文件

如果聊天数据的结构是固定的或变化不大的。
就直接“编排”json字符串。

为要输出的对象增加一个String toJSON()方法
StringBuilder b=new StringBuilder();
b.append("{ name:\"");
b.append(username);
b.append("\"}");
依次类推
return b.toString();

适合绝大多数情况。

补充:json是做交换格式,查询效率非常低,如果做存储的检索格式就误用了。
就是说“聊天信息的保存用json应该可以吧”还不如你之前的mysql数据库。

json用在客户端往服务端发送的通讯交换数据的格式上。服务端收到后转为数据库中或内存中存放。

5. java包路径解析成json

我跟你讲一种方式,我刚刚想了一下,你最好是在得到你list数据的时候就开始组装,这样是最好的,得到list数据无非是文件递归嘛,当递归到出口的时候,你就放进去,如果是文件夹也往里放。

代码刚写好了。

importcom.alibaba.fastjson.JSONObject;
importjava.io.File;
importjava.net.URL;
importjava.util.LinkedList;
importjava.util.List;


/**
*@Packagecom.xhxh.
*@Descriptionjsonconvert
*@Authorxiehua
*@Date2019-03-0816:28
*/
publicclassFileDomain{
privateStringname;
privateList<FileDomain>packages=newLinkedList<>();

publicFileDomain(){
}

publicFileDomain(Stringname){
this.name=name;
}

publicList<FileDomain>getPackages(){
returnpackages;
}

publicStringgetName(){
returnname;

}

publicvoidsetName(Stringname){
this.name=name;
}

@Override
publicStringtoString(){
return"FileDomain{"+
"name='"+name+'''+
",packages="+packages+
'}';
}

publicstaticvoidmain(String[]args){
FileDomainfileDomain=newFileDomain("com.xhxh");
fileDomain.readFiles("com.xhxh",fileDomain);
Strings=JSONObject.toJSONString(fileDomain);
System.out.println(s);
}

publicvoidreadFiles(StringscanPackage,FileDomainfileDomain){
URLurl=this.getClass().getClassLoader().getResource(scanPackage.replaceAll("\.","/"));
FileclassDir=newFile(url.getFile());
for(Filefile:
classDir.listFiles()){
if(file.isDirectory()){
FileDomaintemFileDomain=newFileDomain(scanPackage+"."+file.getName());
fileDomain.getPackages().add(temFileDomain);
readFiles(scanPackage+"."+file.getName(),temFileDomain);
}else{
FileDomaintemFileDomain=newFileDomain(scanPackage+"."+file.getName());
fileDomain.getPackages().add(temFileDomain);
}
}
}
}

6. 怎么用java编写json文件

先生成map 然后用alibaba的fastjson,附件中的这个包,里头有你意想不到的API
例如:
Map map = ......;
map的结构和要生成的字符串结构一致就行,你的optionset在map里头的结构就是一个list
list optionset= new ArrayList();
Map temp = new HashMap();temp.put('set',xxx);temp.put('value',xxx);
list.add(temp);
....有多少个就添加多少,
然后把list添加到最外层的Map对象中;
map.put('optionset',list); key就是json字符中对应的key
拼装好了map然后就是下一句就搞定了
String josnStr = JSONObject.toJSONString(map);

7. java中怎么把数据转换成Json数据

搜json-lib.jar
这个包的例子:
JSONObject obj = new JSONObject();
obj.put("name", "kotomi");
obj.toString();
得到:{"name":"kotomi"}
也可以吧自己定义的实体转,如
JSONObject.fromObject(xxx);
xxx是你自己定义的实体,他会吧xxx里提供了getter的都转成json

8. 求java合并json数据的代码

我想了一下,但是得有一个前提,就是第一个json数组的size必须和第二个json数组的size相同,并且一一对应,否则将造成数组溢出。

如果是基于上面这个前提,那么实现的方法就简单了。

操作json对象,其实标准的方法是将实体类转换成json后再操作,我这里的话为了便捷直接使用谷歌的Gson来创建JsonObject了,其他的json依赖还有阿里巴巴的FastJson等等,看你平时用什么习惯。

引入Gson依赖:

<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>

实现代码:

public class Main {
public static void main(String[] args) {
JsonArray jsonArray1 = new JsonArray();
JsonObject json11 = new JsonObject();
json11.addProperty("数据1", "0000");
json11.addProperty("数据2", "1111");
JsonObject json12 = new JsonObject();
json12.addProperty("数据1", "0000");
json12.addProperty("数据2", "1111");
JsonObject json13 = new JsonObject();
json13.addProperty("数据1", "0000");
json13.addProperty("数据2", "1111");
jsonArray1.add(json11);
jsonArray1.add(json12);
jsonArray1.add(json13);
System.out.println(jsonArray1);

JsonArray jsonArray2 = new JsonArray();
JsonObject json21 = new JsonObject();
json21.addProperty("数据3", "6666");
JsonObject json22 = new JsonObject();
json22.addProperty("数据3", "6666");
JsonObject json23 = new JsonObject();
json23.addProperty("数据3", "6666");
jsonArray2.add(json21);
jsonArray2.add(json22);
jsonArray2.add(json23);
System.out.println(jsonArray2);

//遍历json数组,按位取出对象
for (int i = 0; i < jsonArray1.size(); i++) {
JsonObject json1 = jsonArray1.get(i).getAsJsonObject();
JsonObject json3 = jsonArray2.get(i).getAsJsonObject();
//遍历数据3内容,通过Entry获取数据3的key和value,并合并到数据1中
for (Map.Entry<String, JsonElement> item : json3.entrySet()) {
json1.addProperty(item.getKey(), item.getValue().getAsString());
}
}
System.out.println(jsonArray1);
}
}

整体思路为:遍历两个json数组,按位进行合并操作。合并时,遍历数据3的jsonObject,获取其key和value,并将其合并到数据1中即可。

运行结果:

9. java组装复杂的json用什么包怎么用

XSTREAM 可以直接把对象转成json字符串。

具体用法网络很多的。


当然也可以用json-lib 用法如下 user是一个对象

Useruser=newUser();
user.setId("123");
user.setName("JSONServlet");
user.setPassword("JSON");
user.setSay("Hello,iamaservlet!");
JSONObjectjson=newJSONObject();
json.accumulate("success",true);
json.accumulate("user",user);
阅读全文

与javajson组装相关的资料

热点内容
能否给隐藏相册加密 浏览:596
糖心app改什么名 浏览:823
战地1控服务器如何部署 浏览:394
xp还原系统输入命令 浏览:323
mysql命令行版本 浏览:303
如何进入itunes找文件夹 浏览:832
CAD中重复命令使用 浏览:477
心智pdf 浏览:475
网站电台直播间源码 浏览:852
文件夹14c和18c的区别 浏览:34
android隐式调用 浏览:667
plc的编程指令边沿继电器 浏览:723
voc文件夹 浏览:865
租广东联通服务器注意什么云空间 浏览:934
javascript高级程序设计pdf 浏览:292
pwm单片机原理 浏览:348
ai算法在线修复图片 浏览:981
scratch编程中如何做射击游戏 浏览:479
at89c51编程器 浏览:344
项目经理叫醒程序员 浏览:344