前台写json直接是:var array = [ ] ;

调用方法:array[index],若是对象,再[“key”]

var obj = {''a'':123 , "b":"hello" , "c": array}

调用方法:obj.a 或者 obj["a"]

直接就是var啊

var str = " {''a'':123 , "b":"hello" , "c": array}"   str就没那么多方法

**************************************************

 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 json=new JSONObject();
json.put("name", "小明");
json.put("age", "10");
//输出json是:{"name":"小明","age":"10"}
//json是一个实实在在数据结构,可以有这些方法json.isEmpty()
//若是:字符串就没这么多的方法 JSONArray ja=new JSONArray();
ja.add("1");
ja.add("2");
ja.add("3");
ja.add(3,json);
//["1","2","3",{"name":"小明","age":"10"}]
System.out.println(ja.toString());
System.out.println(ja.get(3));
// {"name":"小明","age":"10"} 点出来的是一个字符串,不是数据结构
//System.out.println(ja.get(3).get("age"));点不出get方法,ja.get(3).这个点点出来的方法都是一些所有的都有方法
String str = (String)ja.get(3); //str能接收这个字符串 /*ja.get(3)实质是表示的是字符串表示*/
//现在ja是一个字符串,解析成上面那个结构
JSONObject jsonObject = JSONObject.fromObject(ja.get(3));
System.out.println(jsonObject.get("age")); //获得10 HashMap<String, Object> data = new HashMap<String, Object>();
Iterator it = jsonObject.keys();
// 遍历jsonObject数据,添加到Map对象
while (it.hasNext())
{
String key = String.valueOf(it.next());
String value = (String) jsonObject.get(key);
data.put(key, value);
}
System.out.println(data);
// {name=小明, age=10}
}
} // {name=小明, age=10} map数据结构长成这样
// {"name":"小明","age":"10"} JSONObject 数据结构长成这样

————————————————————————

从map - json对象 - json字符 1 public class a11111111 {

      public static void main(String[] args) {
Map map = new HashMap();
map.put("msg", "yes");//map里面装有yes
JSONObject jsonObject = JSONObject.fromObject(map);
//和上面复用同一段代码,
System.out.println("输出的结果是:" + jsonObject);
//3、将json对象转化为json字符串
String result = jsonObject.toString();
System.out.println(result);
}
/*输出的结果是:{"msg":"yes"}*/
// {"msg":"yes"} 长的一样:但上面那个是数据结构(JSONobject),下面那个是字符串
// java中数据结构可以直接按名输出,也可以数据结构名.toString输出
// 上面那个可以调用很多方法-下面那个仅仅是个字符串没那么多方法
}
 JSONObject jsonObject = JSONObject.fromObject

map和jsonObject 这2中数据结构之间转换的更多相关文章

  1. java和js中JSONObject,JSONArray,Map,String之间转换

    --------------------------------------------------Java中--------------------------------------------- ...

  2. JavaScriptES6中Map与对象、数组,JSON之间的相互转换

    JavaScriptES6中Map与对象.数组,JSON之间的相互转换 https://blog.csdn.net/c__dreamer/article/details/82183130

  3. JSONObject,JSONArray,Map,String之间转换

    http://blog.csdn.net/superit401/article/details/51727739 1.String转JSONObject String jsonMessage = &q ...

  4. Spring基础——在 IOC 容器中 Bean 之间的关系

    一.在 Spring IOC 容器中 Bean 之间存在继承和依赖关系. 需要注意的是,这个继承和依赖指的是 bean 的配置之间的关系,而不是指实际意义上类与类之间的继承与依赖,它们不是一个概念. ...

  5. 《同一个类中不同方法之间的调用相关问题(省略的类名或者this)》

    //同一个类中不同方法之间的调用相关问题(省略的类名或者this) class A { public void B() { System.out.println("b方法运行"); ...

  6. 深入分析:Android中app之间的交互(二,使用ComponentName)

    在前一篇相关主题的博文中我们了解了如何使用Action来启动当前应用之外的Activity处理我们的业务逻辑,在本篇笔记中我在简单介绍一下使用ComponentName来与当前应用之外的应用进行交互. ...

  7. Java中int类型和tyte[]之间转换及byte[]合并

    JAVA基于位移的 int类型和tyte[]之间转换 [java] view plaincopy /** * 基于位移的int转化成byte[] * @param int number * @retu ...

  8. 持续集成:TestNG中case之间的关系

    持续集成:TestNG中case之间的关系   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq: ...

  9. JAVA 8 主要新特性 ----------------(二)版本中数据结构的修改浅析

    一.版本中数据结构的修改浅析1.HashMap.HashSet.ConcurrentHashMap的数据结构发生变化 (1)HashMap简介(结构:哈希表+链表) HashMap存储的数据是无序的, ...

随机推荐

  1. LeetCode--108--将有序数组转化为二叉搜索树

    问题描述: 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 示例: 给定有序数组: [-10 ...

  2. Android之 RecyclerView,CardView 详解和相对应的上拉刷新下拉加载

    随着 Google 推出了全新的设计语言 Material Design,还迎来了新的 Android 支持库 v7,其中就包含了 Material Design 设计语言中关于 Card 卡片概念的 ...

  3. vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单

    今天分享的不是技术,今天给大家分享个插件,针对现有的vue右键菜单插件,大多数都是需要使用插件本身自定义的标签,很多地方不方便,可扩展性也很低,所以我决定写了一款自定义指令调用右键菜单(vuerigh ...

  4. zzuli 1432(二进制特点)

      1432: 背包again Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 222  Solved: 65 SubmitStatusWeb Board ...

  5. log4j配置文件位置详解

    自动加载配置文件: (1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解.log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找lo ...

  6. CNN autoencoder 进行异常检测——TODO,使用keras进行测试

    https://sefiks.com/2018/03/23/convolutional-autoencoder-clustering-images-with-neural-networks/ http ...

  7. 学习浏览器缓存(http缓存)

    Q: 浏览器缓存是个什么东东,为什么要学习浏览器缓存涅? A: 浏览器缓存其实就是浏览器保存通过HTTP获取的所有资源,是浏览器将网络资源存储在本地的一种行为.浏览器缓存可以减少冗余数据的传输,减小服 ...

  8. Java NIO理解与使用

    https://blog.csdn.net/qq_18860653/article/details/53406723 Netty的使用或许我们看着官网user guide还是很容易入门的.因为java ...

  9. xmind visio mindmanager edraw比较

    xmind visio mindmanager edraw比较   xmind visio mindmanager Edraw 中心主题 有 无 有   泳道图 无 有 有   结构上讲 [思维导图] ...

  10. 快速切题 poj1068

    Parencodings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19716   Accepted: 11910 De ...