Json解析-保存Json文件

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,5000CU*H 3个月
简介: Json解析-保存Json文件

1.第一种unity自带解析的API  JsonUtility 读取Json 不需要dll文件

2.第二种 Newtonsoft.Json dll解析json  读取json  

json格式如下


{

 "name": [

   {

     "age": 28,

     "sex": "不男不女"

   },

   {

     "age": 7,

     "sex": "东方不败"

   },

   {

     "age": 20,

     "sex": "男"

   },

   {

     "age": 15,

     "sex": "女"

   }

 ]

}

Json文件我是保存在StreamingAssets 下的 textJson.json

c#脚本如下

using Newtonsoft.Json.Linq;

using System.Collections;

using System.Collections.Generic;

using System.IO;

using UnityEngine;

using System;

using Newtonsoft.Json;

[Serializable]   //序列化

public class AA

{

   public BB[] name;

}

[Serializable]   //序列化

public class BB

{

   public int age;

   public string sex;  

}

public class Parsing_json : MonoBehaviour

{

   public string jsonpath = Application.streamingAssetsPath + "/textJson.json";

   // Start is called before the first frame update

   void Start()

   {

       #region 第一种unity自带解析的API  JsonUtility 读取Json

       //string json = File.ReadAllText(Application.streamingAssetsPath + "/textJson.json");

       //AA aa = JsonUtility.FromJson<AA>(json);

       //Debug.Log("年龄" + aa.name[0].age + "性别" + aa.name[0].sex);

       //Debug.Log("年龄" + aa.name[1].age + "性别" + aa.name[1].sex);

       //Debug.Log("年龄" + aa.name[2].age + "性别" + aa.name[2].sex);

       //Debug.Log("年龄" + aa.name[3].age + "性别" + aa.name[3].sex);

       #endregion

       #region 第二种 Newtonsoft.Json dll解析json  读取json

       //string json = File.ReadAllText(Application.streamingAssetsPath + "/textJson.json");

       //AA  obj = JsonConvert.DeserializeObject<AA>(json);

       //Debug.Log("年龄: " + obj.name[0].age + "性别: " + obj.name[0].sex);

       //Debug.Log("年龄: " + obj.name[1].age + "性别: " + obj.name[1].sex);

       #endregion

       #region 创建json 保存到json文件

       //// 创建Json

       //BB p1 = new BB();

       //p1.sex = "不男不女";

       //p1.age = 28;

       //string json = JsonUtility.ToJson(p1);

       //BB p2 = new BB();

       //p2.sex = "东方不败";

       //p2.age = 7;

       //BB[] ps = new BB[] { p1, p2 };

       //AA persons = new AA();

       //persons.name = ps;

       //json = JsonUtility.ToJson(persons);

       //if (!System.IO.File.Exists (jsonpath))

       //{

       //    File.CreateText(jsonpath).Dispose();

       //}

       //File.WriteAllText(jsonpath, json, System.Text.Encoding.UTF8);

       #endregion

       //解析Json

       string jso = File.ReadAllText(jsonpath);

       AA obj = JsonUtility.FromJson<AA>(jso);

       foreach (var item in obj.name)

       {

           Debug.Log("年龄: " + item.age + "性别: " + item.sex);

       }

   }

 

}


打印出来如下

相关文章
|
9天前
云解析分享文件
这座建筑结合了现代设计与和谐的自然景观。大面积的玻璃窗让居住者可以充分享受美景和阳光,同时保证了室内充足的自然光线。是体验宁静生活与自然之美的理想之地。图片展现了其优美的自然环境和现代建筑设计的完美融合。
32 6
云解析分享文件
|
10天前
|
XML JSON JavaScript
R JSON 文件
JSON: JavaScript Object Notation(JavaScript 对象表示法)。
48 29
|
3天前
|
JSON 前端开发 中间件
React读取properties配置文件转化为json对象并使用在url地址中
本文介绍了如何在React项目中读取properties配置文件,将其内容转化为JSON对象,并在请求URL地址时使用这些配置。文章详细说明了异步读取文件、处理字符串转换为JSON对象的过程,并提供了一个封装函数,用于在发起请求前动态生成配置化的URL地址。
16 1
|
4天前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
26 2
|
7天前
|
JSON API 数据格式
requests库中json参数与data参数使用方法的深入解析
选择 `data`或 `json`取决于你的具体需求,以及服务器端期望接收的数据格式。
38 2
|
14天前
|
JSON 前端开发 JavaScript
解析JSON文件
解析JSON文件
45 9
|
14天前
|
JSON 前端开发 JavaScript
JSON文件如何读取?
JSON文件如何读取?
44 5
|
1天前
|
JSON 数据格式 Python
6-1|Python如何将json转化为字符串写到文件内 还保留json格式
6-1|Python如何将json转化为字符串写到文件内 还保留json格式
|
20天前
|
存储 JSON API
Python编程:解析HTTP请求返回的JSON数据
使用Python处理HTTP请求和解析JSON数据既直接又高效。`requests`库的简洁性和强大功能使得发送请求、接收和解析响应变得异常简单。以上步骤和示例提供了一个基础的框架,可以根据你的具体需求进行调整和扩展。通过合适的异常处理,你的代码将更加健壮和可靠,为用户提供更加流畅的体验。
54 0
|
28天前
|
C# 开发者 UED
WPF开发者必备秘籍:深度解析文件对话框使用技巧,打开与保存文件原来如此简单!
【8月更文挑战第31天】在WPF应用开发中,文件操作是常见需求。本文详细介绍了如何利用`Microsoft.Win32`命名空间下的`OpenFileDialog`和`SaveFileDialog`类来正确实现文件打开与保存功能。通过示例代码展示了如何设置文件过滤器、初始目录等属性,并使用对话框进行文件读写操作。正确使用文件对话框能显著提升用户体验,使应用更友好易用。
51 0

推荐镜像

更多