写给自己看的博客_每日随笔_json

来源:互联网 发布:java中tomcat安装教程 编辑:程序博客网 时间:2024/06/05 02:31

PsJson的格式与JavaScript的对象是格式一样,所以可以无缝连接。

JSON总共支持六种类型的值:string(字符串)、number(数值)、object(对象)、array(值的有序列表)、booltruefalse)、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.csdn.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());
            }
        }
    }
}







原创粉丝点击