1.java 中JSON数据如何写
没懂你要问什么,是问JSON的格式么?
我就简单地介绍下json格式:
按照最简单的形式,可以用下面这样的 JSON 表示"名称 / 值对":
{ "firstName": "Tom" }
这个示例非常基本,而且实际上比等效的纯文本"名称 / 值对"占用更多的空间:
firstName=Tom
但是,当将多个"名称 / 值对"串在一起时,JSON 就会体现出它的价值了。首先,可以创建包含多个"名称 / 值对"的 记录,比如:
{ "firstName": "Tom", "lastName":"Lin", "email": "aaa@aa.com" }
JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。
2.java 怎么定义一个json
一 简介: JSON(JavaScript对象符号)是一种轻量级的数据交换格式。
这是很容易为人类所读取和写入。这是易于机器解析和生成。
它是基于JavaScript编程语言的一个子集 , 标准ECMA-262第三版- 1999年12月。JSON是一个完全独立于语言的文本格式,但使用C家族的语言,包括C,C + +,C#,Java中的JavaScript,Perl的,Python中,和许多其他程序员所熟悉的约定。
这些特性使JSON成为理想的数据交换语言。他和map很类似,都是以键/值 对存放的。
二 JSON 使用须要用的JAR包:commons-lang.jarcommons-beanutils.jarcommons-collections.jarcommons-logging.jarezmorph.jarjson-lib-2.2.2-jdk15.jar三 使用JSON中的JSONObject:1.创建一个JSONObject对象,并使用put();方法添加元素:首先我们创建一个User对象以备后用:public class User { private int id; private String name; private String pwd; private String sex; //get,set方法 @Override //重写他的toString方法 public String toString() { return this.name+"--"+this.pwd+"--"+this.sex; }}例子如下:import net.sf.json.JSONObject;public class TestJson { private static JSONObject json = null; public static void main(String[] args) { json = new JSONObject(); json.put("id","1"); json.put("name","张三"); json.put("pwd","123456"); System.out.println(json); }}运行:C:\java>java TestJson{"id":"1","name":"张三","pwd":"123456"}通过这段代码我们就能很清淅的看到他的添加元素和map集合方式一样。现在我们要将这个json对象放进一个JAVABEAN的User对象怎么弄呢?很简单我们须要在 TestJson 类中的主方法中加入(放在System.out.println(json)这句话后面)User user = new User();user.setId(Integer.parseInt(json.getString("id")));//json.getString("id")就是通过他的KEY值取得对应的value值user.setName(json.getString("name"));user.setPwd(json.getString("pwd"));System.out.println(user);这样我们就把json这个对象里的值放进user对象里面了。
运行:C:\java>java TestJson{"id":"1","name":"张三","pwd":"123456"}张三--123456--nulljson添加元素除了用put();方法之外还可以用element();如:json.element("11", "222");2.创建一个JSONArray对象,并添加元素:JSONArray添加元素和list集合一样,当然取值也很像,代码如下import net.sf.json.*;public class TestJson1 { private static JSONObject json = null; private static JSONArray jsonArray = null; public static void main(String[] args) { jsonArray = new JSONArray (); jsonArray.add(0, "张三"); jsonArray.add(1, "李四"); jsonArray.add(2, "王五"); jsonArray.add(3, "小三"); System.out.println(jsonArray); System.out.println(jsonArray.get(1)); } } 输出结果为:["张三","李四","王五","小三"]李四注:json的基本格式这些网上很多,就不多说了,我们只须记住一句话就行了:[]表示数组,{}表示对象就完了!1.从Object到String 要先用Object对象构造一个JSONObject或者JSONArray对象,然后调用它的toString()方法即可(1)示例一 Book book=new Book(); book.setName("Java"); book.setPrice(52.3f); JSONObject object=JSONObject.fromObject(book); System.out.println(object.toString());(2)示例二 Book book=new Book(); book.setName("Java"); book.setPrice(52.3f); Book book2=new Book(); book2.setName("C"); book2.setPrice(42.3f); List list=new ArrayList(); list.add(book); list.add(book2); JSONArray arry=JSONArray.fromObject(list); System.out.println(arry.toString()); //结果如下: [{"name":"Java","price":52.3},{"name":"C","price":42.3}]2.从String到Object 要先用String对象构造一个JSONObject或者JSONArray对象(1)示例一 String json="{name:'Java',price:52.3}"; JSONObject object=JSONObject.fromObject(json); System.out.println(object.get("name")+" "+object.get("price")); (2)示例二 String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]"; JSONArray array=JSONArray.fromObject(json); for(int i=0;i< array.size();i++){ Map o=(Map)array.get(i); System.out.println(o.get("name")+" "+o.get("price")); }3.从String到Bean(1)单个Bean对象 String json="{name:'Java',price:52.3}"; JSONObject object=JSONObject.fromObject(json); Product product=(Product)JSONObject.toBean(object,Product.class); System.out.println(product.getName()+" "+product.getPrice());(2).Bean的数组 String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]"; JSONArray array=JSONArray.fromObject(json); Product[] products=(Product[]) JSONArray.toArray(array,Product.class); for(Product p:products){ System.out.println(p.getName()+" "+p.getPrice()); }自定义封装JSON操作的类 package com.util; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; pu。
3.JAVA这种格式的json怎么写啊
json对引号很敏感,所以java中返回json格式字符串时,一般要转义,这样不会发生错误。比如:
"key": {"location": [
"崇文区",
"海淀区",
"大兴区",
"房山区",
"朝阳区",
"西城区",
"丰台区",
"东城区",
"顺义区",
"昌平区",
]
}
json字符串
String json = "{\"key\":\"{\"location\":\"[\"海淀\",\"崇文\"]\"}\"}"这样子
4.用java怎么解析Json数据
import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import net.sf.ezmorph.bean.MorphDynaBean; import net.sf.json.JSONArray; import net.sf.json.JSONSerializer; public class JSONDemo { public static final String PREFIX = "index_"; /** * @param args */ public static void main(String[] args) { Map map = new HashMap(); String str ="[{'status': 5,'remarks': '\\xe6\\xa3\\x80\\xe6\\xb5\\x8b\\xe5\\xb7\\xb2\\xe7\\xbb\\x8f\\xe5\\xae\\x8c\\xe6\\x88\\x90','session': \"(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, '')\",'vuls': [\"('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': \'['%E7%89%88%E6%9C%AC%E5%8F%B7']\', 'type': 1}])\",\"('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])\"], 'endTime':123}, 1L, '\\xe6\\xb5\\x8b\\xe8\\xaf\\x95\\xe6\\x89\\xab\\xe6\\x8f\\x8f\\xe4\\xbb\\xbb\\xe5\\x8a\\xa1']"; System.out.println("json格式字符串-->"+str); JSONArray array = JSONArray.fromObject(str); System.out.println("json格式字符串构造json数组元素的个数-->"+array.size()); ArrayList list = (ArrayList) JSONSerializer.toJava(array); int i = 0; for (Object obj : list) { map.put(PREFIX+(i++), obj); System.out.println("第"+i+"对象-->"+obj); } //解析第0个位置 Map bd = new HashMap(); MorphDynaBean bean = (MorphDynaBean) map.get(PREFIX+0); bd.put("session", bean.get("session")); bd.put("status", bean.get("status")); bd.put("remarks", bean.get("remarks")); bd.put("vuls", bean.get("vuls")); bd.put("endTime", bean.get("endTime")); Iterator iter = bd.keySet().iterator(); while (iter.hasNext()){ Object key = iter.next(); Object value = bd.get(key); System.out.println("MorphDynaBean对象-->key="+key+",value="+value); } //解析vuls ArrayList vuls = (ArrayList) bd.get("vuls"); Map vl = new HashMap(); int j = 0; for (Object obj : vuls) { vl.put(PREFIX+(j++), obj); System.out.println("解析vuls的第"+i+"对象-->"+obj); } } }。
5.JAVA 解析JSON 怎么做
java解析Json很简单的呀有个专门的JSONObject组件,把它引进来,里面有很多方法可以直接操作,比如: JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "aa"); // Put 方法可以根据往里面加入属性 String jsonString = jsonObject.getString("name"); //getString而已根据Key值取出里面的值你去找找JSONObject组件的用法至于解析的目的嘛,因为用Json格式来传输信息可以节省网络开销,性能上较好,Json串是一串字符串,所以接收方在接收到这个Json字符串的时候需要将它转成对象来操作(直接操作那长长字符串是会让人崩溃的)希望能帮到你……。
6.怎么用java编写json文件
先生成map 然后用alibaba的fastjson,附件中的这个包,里头有你意想不到的API
例如:
Map map = 。。;
map的结构和要生成的字符串结构一致就行,你的optionset在map里头的结构就是一个list
list optionset= new ArrayList();
Map temp = new HashMap();temp.put('set',xxx);temp.put('value',xxx);
list.add(temp);
.有多少个就添加多少,
然后把list添加到最外层的Map对象中;
map.put('optionset',list); key就是json字符中对应的key
拼装好了map然后就是下一句就搞定了
String josnStr = JSONObject.toJSONString(map);
转载请注明出处育才学习网 » java怎么写json