(精)字符串,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字符串: ...
随机推荐
- Java数组的定义和使用
如果希望保存一组有相同类型的数据,可以使用数组. 数组的定义和内存分配 Java 中定义数组的语法有两种: type arrayName[]; type[] arrayName; type 为Java ...
- JDK1.7 新特性
1:switch中可以使用字串 String s = "test"; switch (s) { case "test" : System. ...
- Confluence 6 LDAP 用户组结构设置
用户组对象类(Group Object Class) 这是在 LDAP 用户组对象中使用的类的名字.例如: groupOfUniqueNames group 用户组对象过滤器(Group Object ...
- 正睿 2019 省选附加赛 Day1 T1 考考试
比较奇怪的一个枚举题. 注意到10=2*5,所以10^k的二进制表示一定恰好在末尾有k个0. 考虑从小到大去填这个十进制数. 填的时候记录一下当前的二进制表示. 每次尝试去填0或者10^k. 如果要填 ...
- Prefix Product Sequence CodeForces - 487C (数论,构造)
大意: 构造一个[1,2,...n]的排列, 使得前缀积模n为[0,1,...,n-1]的排列 这种构造都好巧妙啊, 大概翻一下官方题解好了 对于所有>=6的合数$n$, 有$(n-1)! \e ...
- Python在七牛云平台的应用(二)图片瘦身
(一)七牛云平台的图片瘦身功能简介:(引用自官网) 针对jpeg.png格式图片 瘦身后分辨率不变,格式不变. 肉眼画质不变. 图片体积大幅减少,节省 CDN 流量 官网给的图片压缩率很高,官网给的「 ...
- jenkins+python+kubectl实现批量更新k8s镜像
一.jenkins使用官方镜像(官方镜像默认是jenkins用户,权限太低) 因此通过dockerfile重新改为root启动 FROM jenkins/jenkins:lts MAINTAINER ...
- Tips for Sync Vimtex and PDF
vimtex synctex: \lv. skim synctex: to display the TeX source line corresponding to a point in the PD ...
- UVA-12558 Egyptian Fractions (HARD version) (IDA* 或 迭代加深搜索)
题目大意:经典的埃及分数问题. 代码如下: # include<iostream> # include<cstdio> # include<cstring> # i ...
- ora2pg安装及卸载
--ora2pg安装 tar xzf ora2pg-10.x.tar.gz or tar xjf ora2pg-10.x.tar.bz2 cd ora2pg-10.x/ perl Makefile. ...