`
CindyLiao
  • 浏览: 13177 次
  • 性别: Icon_minigender_2
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

JSon数据格式转换

阅读更多

WebService连接两个项目的交互,其中JAX啥的貌似只支持int、String类型的数据,不过REST是可以支持Map对象类型的数据的,但是我还木有学会怎么用这个,好像在已经建好的项目上加入rest比jax麻烦点。

所以首先第一步要把数据传过去那就是要将数据类型变成String,但是其实数据格式大部分都是对象实体类,如果拼凑连接成一个String数据过去之后要怎么分开获取数据呢?

所以这里就要用到Json数据格式,json可以将多种类型的数据转换成String类型,
但是很容易搞混的是这几个包
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
这两个包是里面的JSON类中的方法
JSONArray json = JSONArray.fromObject(result ); 可以将字符串转换成JSONArray对象
但是前提是这个result字符串是json.toString()转换后的字符串
但是不包含将Map类型的数据转直接转换成String类型的数据,这个方法在下面两个包中
import org.json.JSONArray;
import org.json.JSONObject;
paramMap是Map对象类型的数据,
String paramJson=new JSONObject(paramsMap).toString();
所以如果引入包错误这个方法会报错,而且好像不能同时引入这几个包的,所以一般都是服务端这边是转换成json格式的String类型的数据,到客户端将字符串转换成JSONArray对象。

WebService的服务端:
import org.json.JSONArray;
import org.json.JSONObject;
  public static String getMyService(int userid){
    	 List<Service> sl = new ArrayList<Service>();
    	 sl=sa.getMyService(userid);
    	 List<Map<String,String>> li=new ArrayList<Map<String,String>>();
    	 JSONArray json=new JSONArray();
   	  for(int i = 0; i < sl.size(); i++)
   	  {
   		 Map<String, String> map=new HashMap<String, String>();
   		  map.put("appid", sl.get(i).getServiceId().toString());
   		  map.put("appName", sl.get(i).getServiceName());
   		  map.put("type", sl.get(i).getServiceType());
   		  map.put("desc", sl.get(i).getServiceDesc());
   		  map.put("url", sl.get(i).getServiceAddress());
   		  Set paramSet=sl.get(i).getParameters();
   		  if(paramSet.size()!=0){
   			  Map<String, String> paramsMap = new HashMap<String, String>();
			for(Object o : paramSet){
				Parameter param = (Parameter) o;
				paramsMap.put(param.getParametername(), param.getParametertype());
				String paramJson=new JSONObject(paramsMap).toString();
				map.put("params", paramJson);
   		  	}
   		  }
   		
   		  json.put(map);
   		  
   	  }


客户端:
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
	public static Map<String,String>  getChoosedService(int appId){
		  JSONArray json = JSONArray.fromObject(result ); // 首先把字符串转成 JSONArray  对象
		 
		  Map<String ,String> mp=new HashMap<String,String>();
	         if(json.size()>0){
	           for(int i=0;i<json.size();i++){// 遍历 jsonarray 数组,把每一个对象转成 json 对象
	             JSONObject job = json.getJSONObject(i); 
	             if(job.getInt("appid")==appId){
	            	 mp.put("type", job.getString("type")); // 得到 每个对象中的属性值
	            	 mp.put("name", job.getString("appName"));
	            	 mp.put("desc", job.getString("desc"));
	            	 mp.put("url", job.getString("url"));
	            	 mp.put("params",job.getString("params")); 	 
	             }
	           }
	         }
	    
	         return mp;
		
	}


ps:初次使用WebService和JSON所以以上只是个人做的总结,还有很多不足之处需要学习。
分享到:
评论

相关推荐

    一个简单的JSON 数据格式转换类

    总结来说,本文提供的源码示例旨在教授如何在没有现成库的情况下实现基本的JSON数据转换。这对于理解JSON的工作原理和学习Java面向对象编程都是很有价值的实践。通过对这两个文件的深入学习和实践,开发者可以更好地...

    C#的json数据格式转化

    描述:C#的JSON数据转换,转换对象为JSON格式数据 标签:C#、JSON JSON数据格式转换的重要性 在C#语言中,JSON数据格式转换是非常重要的,因为它可以将对象转换为JSON格式的数据,从而实现数据的交换和存储。JSON...

    SpringMVC中Json数据格式转换

    当服务器接收到这个请求后,通过@RequestBody注解自动将JSON数据转换为Items对象,并在返回时,通过@ResponseBody注解将对象转换为JSON格式的响应。 为了保证知识点的准确性和完整性,需要注意的是,文档中提到的...

    Json.net Json数据转换的利器

    在标题"Json.net Json数据转换的利器"中,"Json数据转换"是指Json.NET的主要功能,即处理JSON格式的数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...

    VB利用官方api读写JSON数据格式文件简单实例

    在VB(Visual Basic)编程环境中,使用官方API来读写JSON数据格式文件是常见的操作,尤其是在处理网络数据交换或者存储配置信息时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和...

    json格式数据转换

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它基于JavaScript的一...在实际项目中,根据需求灵活运用这两个方法,能够解决大部分与JSON数据转换相关的问题。

    将VOC格式的数据集转换为COCO格式,xml格式转换成json格式

    将VOC格式的数据集转换为COCO格式,xml格式转换成json格式 effcientdet等网络中均可用到

    jsonview,转换json格式

    在实际使用中,这可能包括将大型的、未格式化的JSON字符串转化为可读的树状视图,或者将JSON数据转换成其他格式,如CSV或XML,以便进一步处理。 **文件名称列表:JsonView** 这表明压缩包内可能包含JSONView的安装...

    json数据格式化(editplus 格式化 Json 工具 )

    在开发过程中,除了EditPlus,还有其他很多工具可以用来格式化JSON数据,比如在线的JSON校验和格式化工具(如JSONLint)、IDE内置的格式化功能(如Visual Studio Code、IntelliJ IDEA等),以及命令行工具(如jq)。...

    JSON数据转换器

    JSON数据转换器则是用来帮助用户在Windows操作系统上查看、解析、编辑以及转换JSON格式数据的工具。 在开发过程中,JSON数据转换器可以提供以下关键功能: 1. **查看JSON**:此工具允许用户直观地查看JSON对象结构...

    java-任何类型转换成json数据格式

    ### Java中任何类型转换成JSON数据格式 #### 一、简介 在现代Web开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java应用中,经常会遇到...

    excel数据转json格式数据

    在IT领域,数据转换是一项常见的任务,特别是在处理不同格式的数据时。Excel和JSON是两种广泛使用的数据存储和传输格式。Excel通常用于结构化的表格数据,而JSON(JavaScript Object Notation)则是一种轻量级的数据...

    已经实现了:(含源码)VB利用官方api读写JSON数据格式文件简单实例.zip

    3. 将JSON数据转换为VB可操作的对象,可以通过`selectSingleNode`或`selectNodes`获取JSON对象中的元素。 4. 从这些元素中提取所需数据。 写入JSON文件则涉及以下步骤: 1. 创建一个`MSXML2.DOMDocument60`对象,并...

    json转换jsonschema

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...例如,如果你正在开发一个Web应用,你可以先将用户提交的JSON数据转换为JSON Schema,然后用它来验证后续的数据输入,防止因数据不合规导致的问题。

    JsonView格式转换

    5. **导出为文件**:用户可以将格式化的JSON数据保存为.txt或.json文件,便于分享和备份。 6. **自动更新**:当网页中的JSON数据发生变化时,JsonView会自动刷新显示,无需手动刷新页面。 在实际应用中,JsonView对...

    格式转换工具json2bin

    然而,在某些特定场景下,例如嵌入式系统、低功耗设备或对存储空间有严格要求的地方,将JSON数据转换为二进制格式(如BIN)可以显著减小数据体积,提高存储和传输效率。 "json2bin"是一个专门用于将JSON数据转换为...

    自然语言,数据清洗后存储成jsonl格式文件

    在将CSV格式的数据转换为JSONL时,通常会涉及以下步骤: 1. 读取CSV文件,可以使用pandas的`read_csv`函数。 2. 对数据进行清洗,可以使用pandas提供的数据清洗方法,如`dropna`去除缺失值,`str.replace`替换特定...

    json一键转换为易语言自定义数据类型1

    【描述】:本文档将详细介绍如何将 JSON 数据转换成易语言的自定义数据类型,并提供了一个示例软件供参考。通过这个方法,可以自动化地将 JSON 对象映射到易语言的数据结构中,避免手动创建复杂数据结构的繁琐工作。...

    对象转换为JSON数据格式&使用JQuery获取数据

    JSON格式与JavaScript对象语法相似,使得JavaScript可以直接处理JSON数据,而无需额外的转换。 标题提到的“对象转换为JSON数据格式”,在JavaScript中,我们可以通过`JSON.stringify()`方法将JavaScript对象转换成...

    C# Json格式的转换

    在C#编程语言中,处理JSON格式的数据转换是常见的任务,尤其在Web服务、API交互或者序列化/反序列化对象时。本文将深入探讨C#中JSON格式的转换,并结合提供的标签“Json”、“C#”以及“Bson”,讲解相关的知识点。 ...

Global site tag (gtag.js) - Google Analytics