新建一个脚本Sava,和一个denglu脚本
public class denglu : MonoBehaviour
{
public InputField nametxt, passwordtxt;
public Button btn;
List<Sava> list = new List<Sava>();
void Start()
{
btn.onClick.AddListener(Onlick);
}
void Onlick()
{
Sava S = new Sava();
S.Name = nametxt.text;
S.Passwd = passwordtxt.text;
Get(S);
}
public void Get(Sava p)
{
string path = Application.dataPath + "/JSON/Player3.txt";
list.Add(p);
string jsonData = "[\n";
for (int i = 0; i < list.Count; i++)
{
if (i == list.Count - 1)
{
jsonData += JsonMapper.ToJson(list[i]) + "\n";
break;
}
jsonData += JsonMapper.ToJson(list[i]) + "\n,";
}
jsonData += "]";
Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})");//转码
jsonData = reg.Replace(jsonData, delegate (Match m) { return ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString(); });
File.WriteAllText(path, jsonData);
print("保存成功");
}
}
另一个类里就封装了两个属性:
public class Sava
{
public string Name { get; set; }
public string Passwd { get; set; }
}
因为是公开出去的,在Unity里直接拖进对象:
结果如下:
JSON语法法则:
1、数据键值由冒号(:)分隔
2、数据与数据之间用逗号(,)分隔
3、大括号保存对象{}
4、中括号保存数组[]
注意!
先把LitJson.dll文件放到Prefabs下面
然后把JSON信息.txt放到JSON下面(如果没有则自己建)