在之前的项目中,数据从后台返回到前台,一般是把bean 或List或Map转为转为JSON格式输出,用到JSONObject或者JSONArray。这个容易处理,博客中写的有。
但是,这次在远程接口调用的时候,获取的数据时JSON,但是要取值,却发现不是那么容易。当初想的是转化为bean或List或Map,这样通过get/set,put/get取值赋值。但不容易实现,难道是我引用的json jar包 不对或者是某些方法不熟悉。反正最后,一步步的通过split截取的,之后转化为Map。第二步进行进一步的细化。然后拼装成String.
应该说如果正则表达式写的好的话,也能截取出来,可惜我的正则表达式不行。
所以只好一步步的来操作截取。
第一步程序:
public static Map<String, String> getJSONobject(String str){
String sb = str.substring(1, str.length()-1);
String[] name = sb.split("\\\",\\\"");
String[] nn =null;
Map map = new HashMap();
for(int i= 0;i<name.length; i++)
{
nn = name[i].split("\\\":\\\"");
map.put(nn[0], nn[1]);
}
return map;
}
第二步程序根据需求处理字符串,符合实际要求
public static String chuliString(Map<String,String> map){
String conventionSuggestions =null;
String sportSuggestion = null;
String foodSuggestion = null;
String doctorSuggestion = null;
String advice = null;;
Iterator<Entry<String,String>> iter = map.entrySet().iterator();
while(iter.hasNext()) {
Entry<String, String> entry = iter.next();
if((entry.getKey()).equals("conventionSuggestion")){
String conventionSuggestion = entry.getValue();
conventionSuggestions = conventionSuggestion.split("}")[0];
; System.out.println("conventionSuggestions="+conventionSuggestions.substring(0, conventionSuggestions.length()-1));
}
if((entry.getKey()).equals("suggestion':{'sportSuggestion")){
sportSuggestion = entry.getValue();
System.out.println("sportSuggestion="+sportSuggestion);
}
if((entry.getKey()).equals("foodSuggestion")){
foodSuggestion = entry.getValue();
System.out.println("foodSuggestion="+foodSuggestion);
}
if((entry.getKey()).equals("doctorSuggestion")){
doctorSuggestion = entry.getValue();
System.out.println("doctorSuggestion="+doctorSuggestion);
}
}
advice = conventionSuggestions+","+sportSuggestion+","+foodSuggestion+","+doctorSuggestion;
System.out.println("advice="+advice);
return advice ;
}
第二步程序:需求不一样,逻辑也就不同,但是处理方式是一样的,可以参考一下。
分享到:
相关推荐
本知识点重点讲解将List<Bean>转换为List<Map>的过程,这在进行Web开发、数据处理以及与前端交互等场景中非常常见。同时,也会涉及List转换为List及list转换为JsonArray的内容。 ### List<Bean>转换为List<Map> 在...
本主题主要探讨的是如何使用Gson库处理JSON数据与Java中的Bean、Array、List、Map以及简单类型的相互转换。 首先,我们来看JSON与Java Bean之间的转换。Java Bean是一种具有特定属性和方法的对象,它们通常用来封装...
json转换为String/List/Map/Bean
本文将深入探讨如何使用JSON-lib库实现JSON与Java Bean、Map、List等数据结构之间的相互转换。 #### JSON-lib简介及安装 JSON-lib是早期非常流行的用于处理JSON的Java库之一。它提供了强大的功能,能够将JSON字符...
这样,即使JSON数据具有嵌套的List集合,也能正确地转换为Java对象。 总结一下,Java中处理JSON数据时,可以使用`net.sf.json.JSONObject`类来完成JSON字符串到Java对象的转换。这个过程涉及将JSON对象转换为`...
而在Java编程语言中,处理JSON数据通常涉及到将JSON字符串或对象转换为Java对象(如`Map`、`List`、自定义Java Bean类等),以及反之亦然的过程。 #### JSON与Java数据类型的对应关系 1. **JSON Object <-> Java ...
`json-lib`是一个Java语言实现的JSON库,它提供了多种数据类型到JSON的转换,包括JavaBean、Map、List、数组等。`json-lib-2.4-jdk15.jar`是这个库的一个版本,兼容JDK15。它提供了许多功能,例如将Java对象转化为...
Fastjson还支持更复杂的转换,如JSON数组到Java List的转换,JSON对象到Map的转换,以及自定义转换器等。例如,将一个包含多个`Person`对象的JSON数组转换为List: ```java String jsonArrayString = "[{\"name\":\...
在现代Web应用中,数据的传输通常采用JSON(JavaScript Object Notation)格式,因为JSON轻量级且易于解析,适合前后端之间的数据交换。在这个“SpringMVC返回JSON数据相关Jar包”中,包含了支持SpringMVC处理JSON...
根据提供的文件信息,我们可以总结出以下关于如何在Java中将各种数据类型转换为JSON格式的相关知识点: ### Java中任何类型转换成JSON数据格式 #### 一、简介 在现代Web开发中,JSON(JavaScript Object Notation...
json2bean json2xml json2list json2map
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于服务器与客户端之间的数据传输。它以文本形式存储和传递数据,易于人阅读和编写,同时也容易让机器解析和生成。在Java中,我们经常需要将JSON...
bean转json字符串,JSONArray对象转换成list集合,json字符串转换成list集合,JSONObject转换成map对象,json字符串转换成map对象等等各种方法
JSON数据以来包全部的jar包 解压后放在项目下就可以了 下面付源代码 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; ...
JSONObject jsonObject =JSONObject.fromObject(new JsonBean()); 4. 数组转换成json代码 boolean[] boolArray = newboolean[] { true, false, true }; JSONArray jsonArray1 =JSONArray.fromObject(boolArray); ...
1,先将接口返回的JSON,用gson.tojson(map)方法,将LinkedTreeMap对象转成String。 2,再通过gson.fromjson(string,type)方法,将String转成LinkedTreeMap。用到了Type type=new TypeToken(){}.getType; 3,再将...
1. **JSON与Java对象的互转**:这个库提供了便捷的方法将Java对象(如Java Bean、Map、List等)转换为JSON格式的字符串,同时也支持将JSON字符串解析成相应的Java对象。这在处理前后端交互或者内部数据存储时非常...
List<JsonBean2> list = new ArrayList(); // 添加JsonBean2实例到list JSONArray ja = JSONArray.fromObject(list); ``` 在使用这些转换方法时,需要确保引入了相应的库。文中的标签指出需要`commons-...
在Java中,我们常常需要将Java对象如Bean、List或Map转换成JSON格式,以便于在网络间传输或存储。Jackson库提供了这些功能,同时支持Junit测试来验证转换的正确性。`json_jackson_junit_demo.zip`中的示例应该就是...