Java的Json解析包FastJson使用
阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)

源码地址:https://github.com/alibaba/fastjson
Maven

1
2
3
4
5
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。

1
2
3
*public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package bean;

public class ClassToJson {
private int age;
private String name;

public ClassToJson(int age, String name) {
this.age = age;
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) {
ClassToJson classTJ=new ClassToJson(15,"刘诗诗");
List<ClassToJson> list=new ArrayList<ClassToJson>();
list.add(classTJ);

list.add(new ClassToJson(18,"Stephen"));
//将集合或者对象序例化成JSON
JSON json= (JSON) JSON.toJSON(list);
System.out.println(json);
System.out.println(JSON.toJSON(list));
System.out.println(JSON.toJSON(classTJ));
System.out.println(JSON.toJSONString(list));
System.out.println(JSON.toJSONString(classTJ));
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

public class juzhengxiangcheng {

public static int[][] matrix(int a[][], int b[][]) {
//当a的列数与矩阵b的行数不相等时,不能进行点乘,返回null
if (a.length != b[0].length)
return null;
//c矩阵的行数y,与列数x
int N=a.length;
int c[][] = new int[N][N];
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
//c矩阵的第i行第j列所对应的数值,等于a矩阵的第i行分别乘以b矩阵的第j列之和
for (int k = 0; k < N; k++)
c[i][j] += a[i][k] * b[k][j];
return c;
}
}

一直想要拥有自己的一个博客,CSDN,那些又觉得不够个性化

Github搭建博客的优点:

1、不需要域名和服务器
2、访问自己博客的时候没有广告
3、可以自己修改样式,能根据自己的需求加功能。

首先来一篇预览的博客,让大家看看效果:这是我自己用Github搭建的:https://zhengyongrong.github.io/

以下操作基于Windows环境

首先博客搭建的环境

node.js 因为整个博客框架是基于node.js的,所以必须安装node.js环境,安装过程中一路Next即可。
Git客户端 Git用来将hexo的相关文件部署到Github上去,安装过程一路Next。

安装hexo框架

环境准备好以后,我们便可以安装hexo的博客框架。
在桌面鼠标右击,选择 Git Bash Here,

然后就会打开Git的命令窗口,在命令窗口输入安装命令后,然后回车

1
npm install -g hexo

然后在指定的盘新建一个名为“ hexo ”的文件夹,然后以下的命令都在新建的hexo文件下进行

在这个新建的文件夹内鼠标右键,同样选择Git Bash Here,输入初始化命令,然后回车;
等命令执行完,就会看到生成了一系列的文件;

1
hexo init

安装相关的依赖包,输入下面的命令,回车

1
npm install

接着在hexo文件夹下面继续执行以下命令

1
2
hexo g
hexo s

命令执行完后浏览器访问http://localhost:4000 ,就会看到hexo的初始界面,是不是有着一丝丝的成就感?但是,这个界面还是在本地,别人并不能看到,想要别人看到,我们就必须将这些文件部署到Github上去。

创建Github号

首先我们需要到Github官网创建一个账号,创建链接:Github

创建仓库

创建完账号后我们新建一个Repository

这里要注意仓库的名字,必须是自己的Github账户的用户名.github.io

部署文件到Github

接下来就是部署文件到Github了。
用Nodepad++打开hexo文件夹下面的_config.yml文件,该文件的最下面找到关键字deploy,然后修改成下面这样,用我自己的做案例

1
2
3
4
deploy:
type: git
repository: <https://github.com/Chakid/Chakid.github.io.git>
branch: master

这里拥有两个注意点:

1、每个冒号后面都有一个空格,修改的时候别忘了;
2、注意修改的对应点要是自己的Github的账户名,别修改错了。
修改完保存
但是这样还不能连接到 github ,我们还需要配置SSH,找到路径C:\Users\leeyom.ssh,如果已经存在SSH Keys ,直接删除.ssh 文件夹下的所有的文件,如下图。

然后继续在hexo文件夹下面输入下面的指令

1
ssh-keygen -t rsa -C "1547658639@qq.com"

然后再回车三次,等命令执行完,再输入以下指令

1
2
eval `ssh-agent -s`
ssh-add

然后输入指令拷贝Key

1
clip < ~/.ssh/id_rsa.pub

然后进入自己刚注册的Github

接下来测试ssh是否配好了,输入下面的指令,会提示你输入yes/no你输入yes就行,这样ssh就配好了,接下来我们就可以将项目部署到Github上面了。

1
ssh -T git@github.com

然后执行以下命令将项目部署到Github上面

1
2
hexo g
hexo d

但是输入hexo d可能会报ERROR Deployer not fount: git错误,这是因为没有安装hexo-deployer-git这个模块,导致Git不能识别该命令,输入下面指令安装该模块即可。

1
npm install hexo-deployer-git --save

安装该模块的时间由网速决定,因为Github毕竟是国外的网站,并不是很稳定,所以请读者耐心等待。有事可能会因为断网等导致该模块安装失败,安装失败时还请读者多试两边。等模块安装完再次执行

1
hexo d

这是就会有弹出框,输入自己之前注册的github账号进行登录即可,然后浏览器输入Chakid.github.io进行访问即可,(将Chakid改成自己之前注册的Github的用户名即可) 这时就会发现可以访问自己之前在本地预览的页面了。

此时是不是有着一丝丝的成就感,终于有了属于自己的博客。

附录:

常用指令

1
2
3
4
hexo g #完整命令为hexo generate,用于生成静态文件
hexo s #完整命令为hexo server,用于启动服务器,主要用来本地预览
hexo d #完整命令为hexo deploy,用于将本地文件发布到github上
hexo n #完整命令为hexo new,用于新建一篇文章

转载自https://www.chakid.com/ ,感谢该作者。