计划
复习JSON
结果
今天的单词
final file Bytes finally get
//引用包
/* 注意:
* 引用java
*/
import java.lang.reflect.Array;
//引用包
/* 注意:
* 类提供了动态创建和访问数组元素的各种静态方法
*/
import java.util.ArrayList;
//引用包
/* 注意:
* 提供公共的执行操作方法的接口
*/
import java.util.Collection;
//引用包
/* 注意:
* 提供公共的执行操作方法的基于哈希表的 Map 接口的实现
*/
import java.util.HashMap;
//引用包
/* 注意:
* 提供公共的执行操作方法的对 collection 进行迭代的迭代器
*/
import java.util.Iterator;
//引用包
/* 注意:
* 提供公共的执行操作方法的列表
*/
import java.util.List;
//引用包
/* 注意:
* 提供公共的执行操作方法的映射到值的对象
*/
import java.util.Map;
//引用包
/* 注意:
* 提供公共的执行操作方法的接口
*/
import java.util.Map.Entry;
//公共的类名
/**
* JsDataTools 类
* @author xinjie
*
*/
/*
* JS数据交换格式
* @version v0.1
* @author longHP
*/
public class JsDataTools {
//定义方法
/**
* getJsData() 方法
* @param Object obj
* @return createJsData(obj)
*/
/*
* 获取js数据
* @param 元数据map
* @return js数据
*/
public synchronized static String getJsData(Object obj) {
//返回值
return createJsData(obj);
}
//自动生成
@SuppressWarnings("unchecked")
//定义方法
/**
* createJsData()方法
* @param Object obj
* @return"\"\""
*/
/* 注意:
* 生成js数据
* @param 元数据map
* @return js数据
*/
public static String createJsData(Object obj) {
//if语句
/* 注意:
* 如果null等于odj
*/
if (null == obj) {
//返回值
return "\"\"";
}
//创建实例化对象
/* 注意:
* StringBuffer
* 线程安全的可变字符序列
*/
StringBuffer resultStr = new StringBuffer();
//if语句
/* 注意:
* 如果obj
* instanceof
* 作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据
* Collection
* 集合List、Set等类型
*/
if (obj instanceof Collection) {
//调用方法
resultStr.append("[");
//把接口类型的obj赋值给接口卡类型collection
Collection collection = (Collection) obj;
//if语句
/* 注意:
* 接口类型的collection的存储空间>0
*/
if (collection.size() > 0) {
//获得返回包含此 collection 中所有元素的数组给元素的表示数组形式的collectionObj
Object[] collectionObj = collection.toArray();
//if语句
/* 注意:
* 字符型i = 0 i < collectionObj的数组长度 i+1
*/
for (int i = 0; i < collectionObj.length; i++) {
//将createJsData方法参数追加到序列resultSrr
resultStr.append(createJsData(collectionObj[i]) + ",");
}
//resultStr移除此序列指定位置的 char参数
resultStr.deleteCharAt(resultStr.lastIndexOf(","));
}
//调用方法
resultStr.append("]");
//if语句
/* 注意:
* 否则如果 Obj
* 作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据
* Map类型
*/
} else if (obj instanceof Map) {
//调用方法
resultStr.append("{");
//将Map里面所有映射的 obj给Map类型的map
Map map = (Map) obj;
//if语句
/* 注意:
* map储存空间 > 0
*/
if (map.size() > 0) {
//将map对象迭代的迭代器给iter
/* 注意:
* Iterator
* 迭代器泛型里面是
* Entry
* 接口
*/
Iterator<Entry> iter = map.entrySet().iterator();
//whlie循环语句
/* 注意;
* while
* 循环条件
* iter
* hasNext()
* 是否还有下一个
*/
while (iter.hasNext()) {
//引用调用方法
Map.Entry entry = iter.next();
//引用
String key = entry.getKey().toString();
//调用方法
resultStr.append("\"" + key + "\":");
//引用调用方法
Object tempObj = entry.getValue();
//调用方法
resultStr.append(createJsData(tempObj) + ",");
}
//调用方法
resultStr.deleteCharAt(resultStr.lastIndexOf(","));
}
//调用方法
resultStr.append("}");
//if语句
} else {
//如果有异常
try {
//参数引用调用方法
int arrLength = Array.getLength(obj);
//调用方法
resultStr.append("[");
//if语句
if (arrLength > 0) {
//for循环
for (int i = 0; i < arrLength; i++) {
//调用方法
resultStr.append(createJsData(Array.get(obj, i)) + ",");
}
//调用方法
resultStr.deleteCharAt(resultStr.lastIndexOf(","));
}
//调用方法
resultStr.append("]");
//如果有异常在这里进行捕捉
} catch (IllegalArgumentException e) {
//调用方法
resultStr.append("\"" + stringToJson(obj + "") + "\"");
}
}
//返回值
return resultStr.toString();
}
/**
* 处理特殊字符
* @param json字符串
* @return 处理过的字符串
*/
public static String stringToJson(String str) {
//创建实例化对象
StringBuffer sb = new StringBuffer();
//for循环
for (int i = 0; i < str.length(); i++) {
//一定参数调用方法
char c = str.charAt(i);
//语句的判断条件可以接受int,byte,char,short,不能接受其他类型
switch (c) {
//声明变量 case语句可以不用大括号
case '\"':
sb.append("\\\"");
//表示当i>=10的时候,就跳出循环,执行while后面的代码
break;
case '\\':
sb.append("\\\\");
break;
case '/':
sb.append("\\/");
break;
case '\b':
sb.append("\\b");
break;
case '\f':
sb.append("\\f");
break;
case '\n':
sb.append("\\n");
break;
case '\r':
sb.append("\\r");
break;
case '\t':
sb.append("\\t");
break;
default:
sb.append(c);
}
}
return sb.toString();
}
@SuppressWarnings("unchecked")
/**
* main() 方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args) {
//创建实例化对象
Map<String, Object> map = new HashMap<String, Object>();
//调用方法
map.put("a", "1");
//调用方法
map.put("b", "2");
//参数赋值
int[] intArr = {1,2,3};
//调用方法
map.put("intArr", intArr);
//创建实例化对象
Map childMap = new HashMap();
//调用方法
childMap.put(3, 5);
//创建实例化对象
childMap.put(7, new HashMap());
//调用方法
childMap.put(new Object(), intArr);
//调用方法
map.put("map", childMap);
//创建实例化对象
List childList = new ArrayList();
//调用方法
childList.add(true);
//调用方法
childList.add(new ArrayList());
//调用方法
childList.add(intArr);
//调用方法
map.put("list1", childList);
//输出
System.out.println(JsDataTools.getJsData(map));
}
}
//引用包
/* 注意:
* 修改
*/
import java.util.ArrayList;
//引用包
/* 注意:
* 提供公共的执行操作方法的列表e
*/
import java.util.List;
//公共类名
/**
* Get()类
* @author xinjie
*
*/
public class Get {
//定义主方法
/**
* main()方法
* @param String[] args
* @throws Exception
* return 无
*/
public static void main(String[] args) throws Exception {
//定义变量
/* 注意:
* \
* 转义字符
*/
String s1 = "{\"firsName\":\"Brett\",\"lastName\":\"McLaughlin\",\"email\":\"aaaa\"}";
//调用方法
/* 注意
* 写法将英文括号替换成其他字符
*/
s1 = s1.replaceAll("\\{", "");
//调用方法
/* 注意
* 写法将英文括号替换成其他字符
*/
s1 = s1.replaceAll("\\}", "");
//将s1将一个字符串分割为子字符串,然后将结果作为字符串数组返回String[] a1
String[] a1 = s1.split(",");
//创建实例化对象
/* 注意:
* 将修改后的泛型String数组实例化给列表泛型的String数组
*/
List<String[]> arraylist = new ArrayList<String[]>();
//for循环
/* 注意:
* 每次取数组中一个元素,采取遍历方式
*/
for(String s : a1){
//定义变量
/* 注意:
* s将一个字符串分割为子字符串,然后将结果作为字符串数组返回参数遍历
* 赋值被String数组类的m
*/
String[] m = s.split(":");
//调用方法
arraylist.add(m);
}
//for循环
for(String[] m : arraylist){
//if语句
/* 注意:
* m数组的第一个等于email
*/
if(m[0].equals("\"email\"")){
//输出
System.out.println(m[1]);
}
}
}
}
//引用包
/* 注意:
* 修改
*/
import java.util.ArrayList;
//引用包
/* 注意:
* 提供公共的执行操作方法的列表
*/
import java.util.List;
//公共类名
/**
* Xiugai2()类
* @author xinjie
*
*/
public class Xiugai2 {
//定义主方法
/**
* main()方法
* @param String[] args
* @throws Exception
* return 无
*/
public static void main(String[] args) throws Exception {
//定义变量
/* 注意:
* \
* 转义字符
*/
String s1 = "{\"firsName\":\"Brett\",\"lastName\":\"McLaughlin\",\"email\":\"aaaa\"}";
//调用方法
/* 注意
* 写法将英文括号替换成其他字符
*/
s1 = s1.replaceAll("\\{", "");
//调用方法
/* 注意
* 写法将英文括号替换成其他字符
*/
s1 = s1.replaceAll("\\}", "");
//将s1将一个字符串分割为子字符串,然后将结果作为字符串数组返回String[] a1
String[] a1 = s1.split(",");
//创建实例化对象
/* 注意:
* 将修改后的泛型String数组实例化给列表泛型的String数组
*/
List<String[]> arraylist = new ArrayList<String[]>();
//for循环
/* 注意:
* 每次取数组中一个元素,采取遍历方式
*/
for(String s : a1){
//定义变量
/* 注意:
* s将一个字符串分割为子字符串,然后将结果作为字符串数组返回参数遍历
* 赋值被String数组类的m
*/
String[] m = s.split(":");
//调用方法
arraylist.add(m);
}
//for循环
for(String[] m : arraylist){
//if语句
/* 注意:
* m数组的第一个等于email
*/
if(m[0].equals("\"email\"")){
//定义变量
/* 注意:
* m数组的第二行是bbbb
*/
m[1] = "bbbb";
}
}
//定义变量
/* 注意:
* 把[{定义进json
*/
String json = "[{";
//for循环
for(String[] m : arraylist){
//json等于json加上m的第一个数组加上":"加上m数组的第二个加上","
json += m[0] + ":" + m[1]+ ",";
}
//输出
System.out.println(json + "}]");
}
}
//引用包
/* 注意:
* 修改
*/
import java.util.ArrayList;
//引用包
/* 注意:
* 提供公共的执行操作方法的列表e
*/
import java.util.List;
//公共类名
/**
* Get()类
* @author xinjie
*
*/
public class Array {
//定义主方法
/**
* main()方法
* @param String args
* @throws Exception
* return 无
*/
public static void main(String[] args) throws Exception {
//定义变量
/* 注意:
* \
* 转义字符
*/
String s1 = "{\"firsName\":\"Brett\",\"lastName\":\"McLaughlin\",\"email\":\"aaaa\"}";
//调用方法
/* 注意
* 写法将英文括号替换成其他字符
*/
s1 = s1.replaceAll("\\{", "");
//调用方法
/* 注意
* 写法将英文括号替换成其他字符
*/
s1 = s1.replaceAll("\\}", "");
//将s1将一个字符串分割为子字符串,然后将结果作为字符串数组返回String[] a1
String[] a1 = s1.split(",");
//创建实例化对象
/* 注意:
* 将修改后的泛型String数组实例化给列表泛型的String数组
*/
List<String[]> arraylist = new ArrayList<String[]>();
//for循环
/* 注意:
* 每次取数组中一个元素,采取遍历方式
*/
for(String s : a1){
//定义变量
/* 注意:
* s将一个字符串分割为子字符串,然后将结果作为字符串数组返回参数遍历
* 赋值被String数组类的m
*/
String[] m = s.split(":");
//调用方法
arraylist.add(m);
}
//定义变量
/* 注意:
* 把
* "\"FileName\":\"cccc\""
* 定义到
* String fileName
*/
String fileName = "\"FileName\":\"cccc\"";
//调用方法
/* 注意:
* 将fileName将一个字符串分割为子字符串,然后将结果作为字符串数组增加arraylist
*/
arraylist.add(fileName.split(":"));
//定义变量
/* 注意:
* 把[{定义进json
*/
String json = "[{";
//for循环
for(String[] m : arraylist){
//json等于json加上m的第一个数组加上":"加上m数组的第二个加上","
json += m[0] + ":" + m[1]+ ",";
}
//输出
System.out.println(json + "}]");
}
}
//引用包
/* 注意:
* 修改
*/
import java.util.ArrayList;
//引用包
/* 注意:
* 提供公共的执行操作方法的列表e
*/
import java.util.List;
//公共类名
/**
* Get()类
* @author xinjie
*
*/
public class delete {
//定义主方法
/**
* main()方法
* @param String args
* @throws Exception
* return 无
*/
public static void main(String[] args) throws Exception {
//定义变量
/* 注意:
* \
* 转义字符
*/
String s1 = "{\"firsName\":\"Brett\",\"lastName\":\"McLaughlin\",\"email\":\"aaaa\"}";
//调用方法
/* 注意
* 写法将英文括号替换成其他字符
*/
s1 = s1.replaceAll("\\{", "");
//调用方法
/* 注意
* 写法将英文括号替换成其他字符
*/
s1 = s1.replaceAll("\\}", "");
//将s1将一个字符串分割为子字符串,然后将结果作为字符串数组返回String[] a1
String[] a1 = s1.split(",");
//创建实例化对象
/* 注意:
* 将修改后的泛型String数组实例化给列表泛型的String数组
*/
List<String[]> arraylist = new ArrayList<String[]>();
//for循环
/* 注意:
* 每次取数组中一个元素,采取遍历方式
*/
for(String s : a1){
//定义变量
/* 注意:
* s将一个字符串分割为子字符串,然后将结果作为字符串数组返回参数遍历
* 赋值被String数组类的m
*/
String[] m = s.split(":");
//调用方法
arraylist.add(m);
}
//for循环
for(String[] m : arraylist){
//if语句
/* 注意:
* m数组的第一个等于email
*/
if(m[0].equals("\"email\"")){
//定义变量
/* 注意:
* m数组的第二行是没有
*/
m[1] = "";
}
}
//定义变量
/* 注意:
* 把[{定义进json
*/
String json = "[{";
//for循环
for(String[] m : arraylist){
//json等于json加上m的第一个数组加上":"加上m数组的第二个加上","
json += m[0] + ":" + m[1]+ ",";
}
//输出
System.out.println(json + "}]");
}
}
//引用包
/* 注意:
* 修改
*/
import java.util.ArrayList;
//引用包
/* 注意:
* 提供公共的执行操作方法的列表
*/
import java.util.List;
//公共类名
/**
* Dement()类
* @author xinjie
*
*/
public class Dsabs {
//定义主方法
/**
* main()方法
* @param String[] args
* @throws Exception
* return 无
*/
public static void main(String[] args) throws Exception {
//定义变量
/* 注意:
* \
* 转义字符
*/
String obj = "{\"firsName\":\"Brett\",\"lastName\":\"McLaughlin\",\"email\":\"aaaa\"}," +
"{\"firsName\":\"Brett\",\"lastName\":\"McLaughlin\",\"email\":\"bbbb\"}";
//调用方法
/* 注意
* 写法将英文括号替换成其他字符
*/
obj = obj.replaceAll("\\{", "");
//调用方法
/* 注意
* 写法将英文括号替换成其他字符
*/
obj = obj.replaceAll("\\}", "");
//将s1将一个字符串分割为子字符串,然后将结果作为字符串数组返回String[] a1
String[] a1 = obj.split(",");
//创建实例化对象
/* 注意:
* 将修改后的泛型String数组实例化给列表泛型的String数组
*/
List<String[]> arraylist = new ArrayList<String[]>();
//for循环
/* 注意:
* 每次取数组中一个元素,采取遍历方式
*/
for(String s : a1){
//定义变量
/* 注意:
* s将一个字符串分割为子字符串,然后将结果作为字符串数组返回参数遍历
* 赋值被String数组类的m
*/
String[] m = s.split(":");
//调用方法
arraylist.add(m);
}
//定义变量
int i = 0;
//for循环
for(String[] m : arraylist){
//if语句
if(m[1].equals("\"McLaughlin\"")){
//输出
System.out.println(arraylist.get(i+1)[0] + " " + arraylist.get(i+1)[1] );
}
//i加1
i++;
}
}
}
今天的单词
switch case break
11月8到9号的学习(第6、7天)
猜你喜欢
转载自xjwolaile.iteye.com/blog/1714376
今日推荐
周排行