统一读取和解析 C# 中的 Json 文件
Posted
技术标签:
【中文标题】统一读取和解析 C# 中的 Json 文件【英文标题】:Read and parse a Json File in C# in unity 【发布时间】:2015-08-10 16:55:40 【问题描述】:这里是代码
using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
public class csharpfile:MonoBehaviour
public void LoadJson()
using (StreamReader r = new StreamReader("file.json"))
string json = r.ReadToEnd();
List<Item> items = JsonConvert.DeserializeObject<List<Item>>(json);
public class Item
public int millis;
public string stamp;
public DateTime datetime;
public string light;
public float temp;
public float vcc;
现在我要解析文件内容(file.json)
[
"millis": "1000",
"stamp": "1273010254",
"datetime": "2010/5/4 21:57:34",
"light": "333",
"temp": "78.32",
"vcc": "3.54" ,
]
文件解析后如何在屏幕上打印内容以及如何写入文件.do help.....
【问题讨论】:
文件解析后如何在屏幕上打印内容以及如何写入文件.do help.....。你试过什么? Serialize and Deserialize Json and Json Array in Unity的可能重复 【参考方案1】:用于打印deserialized
值:
string json = file.ReadToEnd();
List<Item> items = JsonConvert.DeserializeObject<List<Item>>(json);
foreach (var item in items)
Console.WriteLine(item.millis);
用于写入/序列化:
var serObj = JsonConvert.SerializeObject(new Item
//assign values here
);
或者
var stm = new MemoryStream();
using (var sw = new StreamWriter(stm))
var ser = new JsonSerializer();
ser.Serialize(sw, new Item());
【讨论】:
感谢您的宝贵时间,但出现错误错误 CS0103:当前上下文中不存在名称“JsonConvert”(CS0103)(Assembly-CSharp) 从 NuGet 安装Newtonsoft.Json
或者直接使用内置的JsonUtility.FromJson(string json)以上是关于统一读取和解析 C# 中的 Json 文件的主要内容,如果未能解决你的问题,请参考以下文章
c# 读取json的问题,JObject不能强转成JArray
Unity C# 读取安卓persistentDataPath目录中的json文件