java解析和组装json以及一些方法的理解

这是一个json格式的字符串

第一种情况(简单格式)

String result = "{\"name\":\"小明\",\"age\":\"12\"}";
JSONObject  json = new JSONObject(result);
System.out.println("name="+json.getString("name")+",age="+json.getString("age"));

运行输出结果

name=小明,age=12

第二种情况(带数组)

String result = "{\"name\":\"小明\",\"age\":\"12\",\"family\":[{\"baba\":\"大明\"},{\"mama\":\"小明的妈妈\"},{\"meimei\":\"小明的妹妹\"}]}";
JSONObject jsonobject = new JSONObject(result);
for(int i=0;i<jsonobject.getJSONArray("family").length();i++){
String family = jsonobject.getJSONArray("family").get(i).toString();
JSONObject jsonfamily = new JSONObject(family);
System.out.println(jsonfamily);
}

运行输出结果

{"baba":"大明"}
{"mama":"小明的妈妈"}
{"meimei":"小明的妹妹"}

json解析就是这些了,如果复杂的话也就是一层一层获取。

json组装

需要组装的格式

{
    "status": [
        {
            "title": "标题",
            "contents": [
                {
                    "content": "内容"
                },
                {
                    "content": "内容2"
                }
            ],
            "status": "状态"
        }
    ],
    "nodetow": "第二个",
    "nodeone": "第一个"
}

开始组装

JSONObject Msg = new JSONObject();
Msg.put("nodeone", "第一个");
Msg.put("nodetow", "第二个");
JSONArray status = new JSONArray();
JSONObject In = new JSONObject();
In.put("status", "状态");
In.put("title", "标题");
JSONArray contents = new JSONArray();
JSONObject content = new JSONObject();
content.put("content", "内容");
JSONObject content2 = new JSONObject();
content2.put("content", "内容2");
contents.put(content);
contents.put(content2);
status.put(In);
In.put("contents", contents);
Msg.put("status", status);
System.out.println(Msg);

测试组装成功。

json中JSONObject的get()与getString()方法的区别

在使用JSONObject的时候,使用getString()获取值,发现报错了,异常是返回的类型不是一个字符串。后来发现方法用错了,在这里记录一下。并分别说一下它们的区别。

get()根据键获取一个对象,就是说,如果使用这个方法,你获取到的就是一个对象,既然是对象,那么获取到的就有可能是任意类型。

getString()返回一个字符串的值,你得确认你获取的值是一个字符串,才使用这个方法,不然就会抛异常了。

转载:https://blog.csdn.net/woshimeihuo/article/details/50509191

原文地址:https://www.cnblogs.com/ynyhl/p/9540763.html

时间: 2024-08-01 05:48:22

java解析和组装json以及一些方法的理解的相关文章

Java解析XML文件的四种方法

[摘要] 可扩展标志语言(XML)在实现信息标准化.信息的交流与共享上有其独特的技术优势,因此受到了广泛的重视.本文先简单的介绍了XML基本知识,然后从XML应用入手总结了四种现今最常见的XML的解析方法,介绍了这四种方法的特点,其中包括优点与不足之处.最后给出了一个简单的案例来对这四种解析进行代码介绍. [关键字] XML文件,DOM,SAX,JDOM,DOM4J [引言] XML即可扩展标记语言(EXtensible Markup Language),是标准通用标记语言的子集,是一种用于标记

java解析和拼接json对象

1 /** 2 3 * @author: helloworlda 4 5 * @time:2012-1-18 6 7 * @descript:java拼接和解析json对象 8 9 * @result:get没测试出来,不知道效率怎么样. 10 11 */ 12 13 package json; 14 15 import java.util.ArrayList; 16 17 import java.util.Iterator; 18 19 import java.util.List; 20 21

Java解析xml常用的4种方法对比

1. DOM(JAXP Crimson解析器)DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的.DOM以及广义的基于树的处理具有几个优点.首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改.它还可以在任何时候在树中上下导航,而不是像SAX那

java解析json

在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Json数据的方法示例. 用org.son构造和解析Json数据的方法详解请参见我下一篇博文:Java构造和解析Json数据的两种方法详解二 一.介绍 JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包,主要就是用来解析Json数据

jackson 解析json含有不规则的属性的json字符串的方法

对于json中含有点号,等其他特殊的,不是规范的java变量名的字符,可以使用一个注解来处理. 贴代码: import com.fasterxml.jackson.annotation.JsonProperty; public class Api { private Bean APISSInshopApi; @JsonProperty("API.SSInshopApi") public Bean getAPISSInshopApi() { return APISSInshopApi;

java 解析JSON字符串

JAVA解析json字符串:根据城市itemName名称获取其码itemCode 1.json字符串 [{"childList":        [{"childList":            [{"childList":[],"id":374,"itemCode":"110101","itemName":"东城区","itemNam

【转】java 解析多层json

java分别解析下面两个json字符串 package jansonDemo; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; public class TestJSON { /** * JSON实际上也是键值对("key":"value") * key 必须是字符串,value 可以是合法

java 中关于json的使用方法

json在数据传输起了很大的作用,下面说说java中json的使用方法. 文章参考:http://www.codes51.com/article/detail_99574.html json串示例 [{"id":1,"name":"name1","password":"password1","remark":"remark1"},{"id":2,&

Java解析JSON对象

今天学习一下Java 解析 JSON 准备工作 参考文档 1) www.json.org 2 ) 参考公司其他人的代码(这个就不说了) 依赖jar包 1) org.json.jar 提供以下我的网盘链接 http://pan.baidu.com/s/1jG2zSwe 主要的类 JSON主要有两种结构 1)name/value 的集合 2)value 的集合,在大多数语言中的list,array等,这里的 value 个人觉得就是一个JSON,也就是说是JSON的集合 JAVA处理JSON的类 1