写给自己看的博客_每日随笔_json
Ps:Json的格式与JavaScript的对象是格式一样,所以可以无缝连接。
JSON总共支持六种类型的值:string(字符串)、number(数值)、object(对象)、array(值的有序列表)、bool(true、false)、null(空值)。
1,某种语言实现了json模块,即该语言的库函数被调用将object序列化成string,从string反序列化成object
2,某个平台使用某种语言,则该平台一般需要导入语言的相应的json库才可以使用json模块,了解该库有哪些相关json的函数。
3,将需要永久化存储的数据使用json在加密后写入文本,有一定的作用。
using Newtonsoft.Json;
using System;
{"age":20,"name":"One_Test","isMan":true,"int_list":[0,1,2,3,4,5,6,7,8,9],"data_two":{"two_age":40,"two_name":"Two_Test","two_str_list":["two_list_0","two_list_1","two_list_2","two_list_3","two_list_4"]}}
unity下使用json,需要导入相应的包,引用相应命名空间
http://blog.****.net/beihuanlihe130/article/details/53676006unity的相应包下载
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Newtonsoft.Json;
using System;
public class Json_Study : MonoBehaviour {
void Start () {
Data_one data_one = new Data_one();
string str_data = SerializeObj(data_one);
print("Data is " + str_data);
Data_one data = (Data_one)DeSerializeObj(str_data,typeof(Data_one)) ;
if (data == null)
print("data is null");
print("data age name isMan int_list[3] "+data.age);
print("data age name isMan int_list[3] " + data.int_list[3]);
print("data two_age two_str_list[2] " + data.data_two.two_age);
print("data two_age two_str_list[2] " + data.data_two.two_str_list[2]);
}
public string SerializeObj(object obj) {
return JsonConvert.SerializeObject(obj);
}
public object DeSerializeObj(string str, Type type){
return JsonConvert.DeserializeObject(str,type);
}
class Data_one {
public int age;
public string name;
public bool isMan;
public List<int> int_list;
public Data_two data_two;
public Data_one() {
age = 20;
name = "One_Test";
isMan = true;
int_list = new List<int>();
for (int i = 0; i < 10; i++)
{
int_list.Add(i);
}
data_two = new Data_two();
}
}
class Data_two {
public int two_age;
public string two_name;
public List<string> two_str_list;
public Data_two() {
print("data two is call");
two_age = 40;
two_name = "Two_Test";
two_str_list = new List<string>();
for (int i = 0; i < 5; i++)
{
two_str_list.Add("two_list_"+i.ToString());
}
}
}
}