JSON字符串
来源:互联网 发布:java函数重载是指 编辑:程序博客网 时间:2024/06/08 06:10
json和xml比较
json字符串表示的是键值对字符串,和xml有很多相似之处
xml例子
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
country
>
<
name
>中国</
name
>
<
province
>
<
name
>黑龙江</
name
>
<
cities
>
<
city
>哈尔滨</
city
>
<
city
>大庆</
city
>
</
cities
>
</
province
>
<
province
>
<
name
>广东</
name
>
<
cities
>
<
city
>广州</
city
>
<
city
>深圳</
city
>
<
city
>珠海</
city
>
</
cities
>
</
province
>
<
province
>
<
name
>台湾</
name
>
<
cities
>
<
city
>台北</
city
>
<
city
>高雄</
city
>
</
cities
>
</
province
>
<
province
>
<
name
>新疆</
name
>
<
cities
>
<
city
>乌鲁木齐</
city
>
</
cities
>
</
province
>
</
country
>
json例子
{
"name": "中国",
"province": [{
"name": "黑龙江",
"cities": {
"city": ["哈尔滨", "大庆"]
}
}, {
"name": "广东",
"cities": {
"city": ["广州", "深圳", "珠海"]
}
}, {
"name": "台湾",
"cities": {
"city": ["台北", "高雄"]
}
}, {
"name": "新疆",
"cities": {
"city": ["乌鲁木齐"]
}
}]
}
java
使用json-lib-2.1-jdk15.jar包
/**
* 将普通对象转换成JSON数据
*
* @return String
*/
public static String objectToJson(Object object) {
JSONObject jsonObject = JSONObject.fromObject(object);
return jsonObject.toString();
}
/**
* 将JSON数据转换成类对象
*
* @return Object
*/
@SuppressWarnings("unchecked")
public static Object jsonToObject(String jsonString, Class beanClass) {
JSONObject jsonObject = JSONObject.fromObject(jsonString);
Object object = JSONObject.toBean(jsonObject, beanClass);
return object;
}
/**
* 将List对象转换成JSON数据
*
* @return String
*/
@SuppressWarnings("unchecked")
public static String objectListToJson(List list) {
JSONArray object = JSONArray.fromObject(list);
return object.toString();
}
/**
* 将JSON数据转换成List对象
*
* @return List
*/
@SuppressWarnings({ "unchecked" })
public static List jsonToObjectList(String jsonString, Class entityClass) {
JSONArray jsonArray = JSONArray.fromObject(jsonString);
List objectList = new ArrayList();
for (Iterator iter = jsonArray.iterator(); iter.hasNext();) {
JSONObject jsonObject = (JSONObject) iter.next();
objectList.add(JSONObject.toBean(jsonObject, entityClass));
}
return objectList;
}
/**
*
* 将JSON数据转换成List对象,转换有日期格式的
* @return List
* 结果集
* @param jsonString
* json字符串
* @param entityClass
* 转对象
* @param dataFormats
* 日期格式数组
* @author wr
*/
@SuppressWarnings({ "unchecked" })
public static List jsonToObjectList(String jsonString, Class entityClass,String[] dataFormats) {
JSONArray jsonArray = JSONArray.fromObject(jsonString);
List objectList = new ArrayList();
for (Iterator iter = jsonArray.iterator(); iter.hasNext();) {
JSONObject jsonObject = (JSONObject) iter.next();
JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(dataFormats));
objectList.add(JSONObject.toBean(jsonObject, entityClass));
}
return objectList;
}
/**
*
* @Title: jsonToMaps
* @Description: json 字符串 转map
* @param jsonStr
* @return
* @author wr
* @since 2016-10-26上午11:00:07
*/
@SuppressWarnings({ "unchecked" })
public static List<Map> jsonToMaps(String jsonStr){
JSONArray jsonArray = JSONArray.fromObject(jsonStr);
List objectList = new ArrayList();
Map map = null;
for (Iterator iter = jsonArray.iterator(); iter.hasNext();) {
map = new HashMap();
JSONObject jsonObject = (JSONObject) iter.next();
for (Iterator iters = jsonObject.keys(); iters.hasNext();) {
String key = (String) iters.next();
map.put(key, jsonObject.get(key));
}
objectList.add(map);
}
return objectList;
}
/**
* json 转成对应的map
* @param jsonString
* @return
*/
@SuppressWarnings({ "unchecked" })
public static Map jsonToMap(String jsonString) {
JSONObject jsonObject = JSONObject.fromObject(jsonString);
Map map = null;
map = new HashMap();
for (Iterator iters = jsonObject.keys(); iters.hasNext();) {
String key = (String) iters.next();
map.put(key, jsonObject.get(key));
}
return map;
}
/**
*
* @Title: parseToMap
* @Description:
* <font color="red">json字符串转map集合</font><br/>
* @param jsonStr
* @return List<Map<String, Object>>
* @author wr
* @since 2015-1-7, 下午02:27:32
*/
@SuppressWarnings("unchecked")
public static List<Map<String, Object>> parseToMap(String jsonStr) {
JSONArray jsonArray = JSONArray.fromObject(jsonStr);
List<Map<String,Object>> mapListJson = (List)jsonArray;
return mapListJson;
}
/**
* 检查JSON对象中是否包含某一键值
*
* @param jsonString
* JSON对象
* @param key
* 键值名称
* @return boolean
*/
public static boolean jsonContainsKey(String jsonString, String keyName) {
JSONObject jsonObject = JSONObject.fromObject(jsonString);
return jsonObject.containsKey(keyName);
}
js
var
obj = {a:
'Hello'
, b:
'World'
};
//这是一个对象,注意键名也是可以使用引号包裹的
var
json =
'{"a": "Hello", "b": "World"}'
;
//这是一个 JSON 字符串,本质是一个字符串
// 对象转换成json字符串var
json = JSON.stringify({a:
'Hello'
, b:
'World'
});
//结果是 '{"a": "Hello", "b": "World"}'
// json字符串转换成对象var
obj = JSON.parse(
'{"a": "Hello", "b": "World"}'
);
//结果是 {a: 'Hello', b: 'World'}
- json字符串
- json字符串
- JSON字符串
- JSON字符串
- json字符串
- json字符串转json
- json字符串与JSON对象
- json对象与json字符串
- Js Json字符串转json
- json字符串与JSON对象
- JSON对象和JSON字符串
- json字符串与json对象
- json字符串与JSON对象
- Json对象与Json字符串
- json字符串换成json数据类型
- json字符串转json对象
- javax.json JSON字符串操作
- 2 json与json字符串
- c++多态,回调,和策略模式
- Java反射(三):java获取方法信息
- 动脉硬化:背景、检测手段和我们的工作
- C/C++堆栈指引
- 数字图像处理与OpenCV(2)--载入、显示、保存及修改图像
- JSON字符串
- ActiveMQ实战(二)--ActiveMQ的通信方式之P2P点对点通信(point-to-point)
- 树莓派3 上安装运行Android Things系统
- Retrofit2+Rxjava2+nucleus5(简化Presenter)+ButterKnife(减少findViewById使用)
- OSG学习:使用OSG中预定义的几何体
- React 的无状态函数
- git segmentation fault
- 废人
- 通过Java代码装配bean