首先我们需要下载一个文件 LitJson.dll(下载链接 ps: 是用自己的百度云盘下载的如果链接过时,请留言或自行下载, 密码: 5foa)

另外,由于我们要发布到安卓手机上,所以需要配置Jar和SDK,由于这里主要讲Json在安卓端的修改和读取,在这里就不细说了,当然如果不发布手机端的话,电脑端也是可以正常使用的

(1)首先我们来简单搭建一个测试环境(如图)

从上到下依次为text文本框, 按钮, 输入框, 按钮, 功能如图显示(如果需要的话可以把UI放大,以免在手机上面太小,或者在Game左上角调整分辨率),. 搭建完之后,保存场景(菜单来File--Save Scene)

(2)现在我们需要来写脚本了,建一个名字为JsonTest的Csharp脚本, 如下:

 1 using UnityEngine;
 2 using System.Collections;
 3 using LitJson;    //导入Json
 4 using UnityEngine.UI;    //导入UI
 5 using System.Text;   //使用StringBuilder
 6 using System.IO;  //使用文件流
 7
 8 /// <summary>
 9 /// Json手机端读取测试
10 /// </summary>
11 public class JsonTest : MonoBehaviour
12 {
13     public Text jsonText;    //显示Json的文本框
14     public InputField input;   //修改Json数据的输入文本框
15     public string name;   //测试是否更换了Json里面的值
16
17     void Awake()
18     {
19         name = "Person";  //写一个人物的属性
20         SaveJsonString(GetJson());  //得到一个Json数据之后,把这个数据存储起来
21     }
22
23     public void DidReadJsonButton_Click()      //读取Json文本的按钮事件
24     {
25         jsonText.text = GetJsonString();  //读取json数据,并且显示到文本框里面
26     }
27
28     public void DidConfirmInputButton_Click()      //读取确定输入框内容的按钮事件
29     {
30         name = input.text;    //获取文本框里面的数据
31         SaveJsonString(GetJson());  //存储起来
32     }
33
34     public string GetJson()   //由于这里是测试, 本人就在这里简单写一个Json数据
35     {   //得到Json格式字符串
36         StringBuilder sb = new StringBuilder();
37         JsonWriter writer = new JsonWriter(sb);
38         writer.WriteObjectStart();    //字典开始
39         writer.WritePropertyName(name);    //键值(人物属性 通过改变name来打印出来值观察)
40         writer.WriteObjectStart();
41         writer.WritePropertyName("Hp");   //里面有这些属性
42         writer.Write("20");
43         writer.WritePropertyName("Mp");
44         writer.Write("60");
45         writer.WritePropertyName("Attack");
46         writer.Write("30");
47         writer.WritePropertyName("Exp");
48         writer.Write("100");
49         writer.WriteObjectEnd();
50         writer.WriteObjectEnd();    //字典结束
51         return sb.ToString();  //返回Json格式的字符串
52     }
53
54     public void SaveJsonString(string JsonString)    //保存Json格式字符串
55     {
56         FileInfo file = new FileInfo(Application.persistentDataPath + "JsonData.Json");   //这里是重点,会在下面细说的,这里只需要知道它只是一个路径
57         StreamWriter writer = file.CreateText();   //用文本写入的方式
58         writer.Write(JsonString);   //写入数据
59         writer.Close();   //关闭写指针
60         writer.Dispose();    //销毁写指针
61     }
62
63     public string GetJsonString()     //从文件里面读取json数据
64     {  //由于这里只是测试,所以就不写具体的解析数据了
65         StreamReader reader = new StreamReader(Application.persistentDataPath + "JsonData.Json");
66         string jsonData = reader.ReadToEnd();
67         reader.Close();
68         reader.Dispose();
69         return jsonData;
70     }
71 }

(3)脚本我们已经写完了, 现在我们需要挂载脚本,我是建了一个空物体挂载脚本,然后需要把对应的物体给拖进去(不要忘记拖按钮事件哦)运行结果如下:

           

通过结果可以看到,在电脑端已经成功了

(4)接下来就是打包发布了, 菜单栏(File)--Build Settings--Platform(Android)-- Add Current(或者把刚才的场景拖进去,尽量在打包之前先把场景保存一遍,然后在添加进去), 在这里需要点击Player Settings 右边有个小安卓机器人的图标,点击一下,到Ohter Settings里面ba Bundle Identifier 里面的com.Company.后面的改一下,如果需要旋转屏幕可以在Resolution and Preadentaion里面的Default Orientaion里面调整你想要的效果

     

上面依次是手机上面的效果, 开始页面,显示,修改页面

(5)如果想发布到电脑端的话,同样也可以哦,只需要把刚才的第四步里面发布的发布平台(Platform)更换成PC就可以了,同样可以使用的

(6)现在我们来说说Application.persistentDataPath这个路径

     这个路径只有在应用程序装到手机端之后才有的路径,所以不能直接把文件存放在该路径, 在这个路径下的资源,是可以修改和读取的,对于我们需要修改的数据可以存放在这里面的, 就拿存放在Resources资源文件夹里面的资源来说, 这里面的资源是可以通过Resources.Load<>来获取到的,但是不能修改,这个比较坑,不过可以把一些预制体放在这个文件夹里面还是比较方便的.

转载于:https://www.cnblogs.com/ZhiXing-Blogs/p/4900544.html

unity3d在Android端读取修改Json数据相关推荐

  1. Android studio获取服务器端json数据——天气预报(仅读取了json文件尚未分析)

    Android studio获取服务器端json数据--天气预报 MainActivity.java import androidx.appcompat.app.AppCompatActivity;i ...

  2. php 修改json数组的值,php如何修改json数据

    php修改json数据的方法:首先从文件中读取数据到PHP变量:然后把JSON字符串转成PHP数组:最后通过"file_put_contents("text.json", ...

  3. freetds php mssql 中文乱码,PHP读取mssql json数据中文乱码的解决办法

    PHP及网页使用UTF-8编码,数据库是sql server2008,使用默认编码(936,即GBK编码) 当读取数据库数据时,使用php自带的json_encode()返回到前端,结果中文不显示. ...

  4. [Android]【安卓】Json数据的快速拼装和解析

    [Android][安卓]Json数据的快速拼装和解析 本篇博客已收录到我的安卓开发小结中--点击[安卓开发小结] 参考资料:介绍 Json 一.什么是Json数据 JSON(JavaScript O ...

  5. Android用GSon处理Json数据

    此篇接上篇 Android访问WCF(下篇)-客户端开发 将服务器获取的JSON数据通过GSON这个类库, 进行反序列化, 并通过UI显示出来. 如何在Android平台上用GSON反序列化JSON数 ...

  6. java 对外提供接口_Java服务器对外提供接口以及Android端向服务器请求数据

    讲解下java服务器是如何对移动终端提供接口的,以什么数据格式提供出去,移动端又是怎么请求服务器,接收以及解析返回数据的. 服务端:还是在原先S2SH框架的项目上(搭建SSH详细步骤及其相关说明),加 ...

  7. Android入门:通过JSON数据与服务器进行通信

    我们完成"Android入门:通过XML数据与服务器进行通信"同样的功能,只是数据传输使用JSON而不是XML: 注意点: (1)当返回JSON时,content-type为tex ...

  8. js读取解析JSON数据

    简介 1.JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 2.是轻量级的文本数据交换格式. JSON是 JavaScript 原生 ...

  9. android studio读取本地json,Android Studio读取和创建Json

    1,984 JSON的基本语法 1.JSon的四个基本规则 (1)并列的数据之间用逗号(,)分隔 (2)映射用冒号(:)表示 (3)并列数据的集合(数组)用方括号([])表示 (4)映射的集合(对象) ...

最新文章

  1. 快过年了,为过完年跳槽的人准备一份面试题
  2. jeecms v9 vue环境搭建
  3. Delphi中拖动无边框窗口的5种方法
  4. 网站设计大访问量应用的解决方案
  5. 渗透测试报告封面样本
  6. 使用Eclipse+PyDev创建Django项目一windows下
  7. 用Kubernetes搭建便携式开发环境之MongoDB
  8. 中小企业信息管理 巧用E-Cell
  9. mysql 随机取不重复数据_随机生成不重复数字,想做Excel抽奖器你必须掌握!
  10. Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用 一
  11. 【 地图系列 】 中国各省市县级 JSON 文件
  12. js根据银行卡号判断属于哪个银行,并返回银行缩写及银行卡类型--bin识别
  13. 基础VLAN划分(思科)
  14. 关于QtCreator中三种不同编译版本 debug、release、profile 的区别
  15. 密西西比河谷州立大学:Android应用程序开发(三)
  16. 主打“极致性价比”的酷玩7,能否让酷派再现辉煌?
  17. 组合导航(六):惯性导航误差建模
  18. 阿里云科学家入选计算机顶会HPCA名人堂,他是什么来头?
  19. win7开机后svchost..exe占用CPU和内存很高的解决方法
  20. 抄作业计算机叫,有种尴尬叫“抄作业”,答案是“B”抄成了13,抄错答案哄堂大笑...

热门文章

  1. Linux - Ubuntu下JDK配置
  2. 《XNA游戏开发》简介
  3. java sin函数图像_java中怎样绘制正弦函数图象
  4. SpringBoot之Interceptor拦截器注入使用
  5. iOS开发 控件不能绑定拖动到视图ViewController连接的解决方法
  6. 超实用的8个Linux命令行性能监测工具
  7. Hive四种数据导入方式介绍
  8. 云服务器 ECS 搭建WordPress网站:购买 Linux 实例
  9. 深搜(DFS),Image Perimeters
  10. AIR切换SDK版本时遇到的问题