(精)字符串,map -> json对象->map(初学者必读)
import java.util.LinkedList;
import java.util.*;
import java.util.ListIterator; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class a11111111 {
public static void main(String[] args) { JSONObject obj=new JSONObject();
obj.put("name", "小明");
obj.put("age", "10");
//输出json对象这种数据结构是:{"name":"小明","age":"10"}
JSONArray jsonobj = JSONArray.fromObject(obj); 对象转数组
//[{"name":"小明","age":"10"}] //数组
JSONArray array=new JSONArray();
array.add("1");
array.add("2");
array.add("3");
array.add(3,obj);
//["1","2","3",{"name":"小明","age":"10"}]
//字符串
String str ="{name:Tom,age:10}" ; // 不可以这样定义str
String str1 = "{\"name\": \"小明\",\"age\": 10 }";
//MAP
Map<String, Object> map = new HashMap<String, Object>();
map.put("1001", "yes");//map里面装有yes
map.put("1002", array);//map里面装有yes
// {1002=["1","2","3",{"name":"小明","age":"10"}], 1001=yes} //数组不可转对象
// JSONObject jsonobj = JSONObject.fromObject(array);
JSONObject jsonobj0 = JSONObject.fromObject(array.get(3));//字符串转对象
JSONObject jsonobj1 = JSONObject.fromObject(str1);
JSONObject jsonobj2 = JSONObject.fromObject(map);//map转对象
System.out.println(jsonobj0);
System.out.println(jsonobj1);
System.out.println(jsonobj2); /*{"name":"小明","age":"10"}
{"name":"小明","age":10}
{"1002":["1","2","3",{"name":"小明","age":"10"}],"1001":"yes"} */
//都是输出:小明
System.out.println(jsonobj0.get("name"));
System.out.println(jsonobj1.get("name"));
JSONArray str_ = JSONArray.fromObject(jsonobj2.get("1002"));//字符串转数组
System.out.println(JSONObject.fromObject(str_.get(3)).get("name"));
//字符串再转对象
System.out.println(str_.get(3).equals(jsonobj0));//true
//内容相容,但一个是对象 一个是字符串 拥有的方法不同 //所有的先转成json对象-然后再转成map
HashMap<String, Object> data = new HashMap<String, Object>();
Iterator it = jsonobj0.keys();
// 遍历jsonObject数据,添加到Map对象
while (it.hasNext())
{
String key = (String)it.next();
String value = (String) jsonobj0.get(key);
data.put(key, value);
}
System.out.println(data);
//map {name=小明, age=10} /*所有的obj调用toString()方法转成字符串*/
// java中数据结构可以直接按名输出,也可以数据结构名.toString输出
字符串转数组
(精)字符串,map -> json对象->map(初学者必读)的更多相关文章
- Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解
Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解 一.Jquery遍历筛选数组 1.jquery grep()筛选遍历数组 $().ready( function(){ v ...
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换. JSONObject:fas ...
- JAVA中如何将一个json形式的字符串转为json对象或对象列表
import java.util.*; import java.text.SimpleDateFormat; import org.json.JSONObject; import org.json.J ...
- 做筛选遍历时遇到的json字符串、json对象、json数组 三者之间的转换问题
这个是后台对登录用户以及筛选条件的操作 @Override public List<SdSdPer> listResults(String sidx, String sord) { try ...
- Json字符串和Json对象的简单总结
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). ...
- JavaScript操作JSON的方法总结,JSON字符串转换为JSON对象
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- 【荐】使用eval()、new Function()将JSON字符串转换为JSON对象
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用j ...
- JSON字符串与JSON对象的区别
Q:什么是"JSON字符串",什么是"JSON对象",两者的区别? a.JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方 ...
- js 将json字符串转换为json对象的方法解析
推荐: var obj = eval('(' + str + ')'); var last=JSON.stringify(obj); //将JSON对象转化为string字符 例如: JSON字符串: ...
随机推荐
- Asp.Net MVC中Action跳转
首先action的跳转大致归类: 1跳转到与当前同一控制器内的action和不同控制器内的action. 2带有参数的action跳转和不带参数的action跳转. 3跳转到指定视图,不经过Contr ...
- Knights of a Polygonal Table CodeForces - 994B (贪心)
大意:n个骑士, 每个骑士有战力p, 钱c, 每个骑士可以抢战力比他低的钱, 每个骑士最多抢k次, 对每个骑士求出最大钱数 按战力排序后, 堆维护动态前k大即可 #include <iostre ...
- Laravel JsonResponse数组获取
有一个JsonResponse数据的格式如下: object(Illuminate\Http\JsonResponse)[474] protected 'data' => string '{&q ...
- 『Sklearn』特征向量化处理
『Kaggle』分类任务_决策树&集成模型&DataFrame向量化操作 1 2 3 4 5 6 7 8 9 '''特征提取器''' from sklearn.feature_extr ...
- Oracle11g温习-第六章:控制文件
2013年4月27日 星期六 10:33 .控制文件的功能和特点 1) [定义数据库当前物理状态] 2) [维护数据的一致性] 如果控制文件中的检查点与数据文件中的一致,则说明数据一致,可以启动到 ...
- c#将Excel数据导入到数据库的实现代码
这篇文章主要介绍了c#将Excel数据导入到数据库的实现代码,有需要的朋友可以参考一下 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码: 代码如下: using Syste ...
- 信号处理函数的返回sigsetjmp/siglongjmp
由于在信号处理期间自动屏蔽了正在被处理的信号,而使用setjmp/longjmp跳出信号处理程序时又不会自动将 信号屏蔽码修改会原来的屏蔽码,从而引起该信号被永久屏蔽. 可以使用sigsetjmp/s ...
- 三个安装,手机看VIP电影。写给亲爱的学习
三个安装,看VIP电影. 市场安装firefox 安装Tempermonkey 打开firefox,点击右上角的三个点,点击附加组件 继续点击浏览全部firefox附加组件 在上面的搜索框输入 tam ...
- MyEclipse教程:使用UML创建模块库——第一部分(二)
MyEclipse 在线购买低至75折!火爆开抢>> [MyEclipse最新版下载] UML1建模文件存储在建模库中,建模可用于生成Java代码,或者可以从代码中生成模型.本教程将向您展 ...
- 教你如何打开android4.3和4.4中隐藏的AppOps
注:下面的方法在4.4.2更新后已失效! PreferenceActivity的switchToHeaderInner()函数中会调用isValidFragment函数来检查fragment是否合法. ...