我试图学习json并将www.json.com中的知识应用到我的c#测试项目中并遇到了一些障碍。希望任何有经验的json和c#在外面可以在我的黑暗洞穴中散发一些光...... :) 我有这个代表json对象的文本文件
[{
"STATES":"some state 1",
"STATE":[{"STATES":"null","ID":"id 1","func":"function1","update":"action1"},
{"STATES":"null","ID":"id 2","func":"null","update":"null"}]
},
{
"STATES":"some state 2",
"STATE":[{"STATES":"null","ID":"id 1","func":"function1","update":"action2"},{"STATES":"null","ID":"id 2"}]
}]
我有一个快速而肮脏的测试C#项目
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json.Linq;
namespace TestJson
{
class Program
{
static void Main(string[] args)
{
string text = File.ReadAllText("JsonTest.txt");
JObject json = JObject.Parse(text);
Console.WriteLine("{0}", text);
Console.ReadLine();
}
}
}
我的目标非常简单直接。从文本文件中读取json并解析json对象。编译很好但是当我试图运行它时,我得到一个JSon异常错误,告诉我我的对象不是JSon。
我已经阅读了json.org上的文档并认为我理解了对象的定义,显然,我有些遗漏的东西。如果有人能够在我的json对象的定义中指出违规行为,那将非常感激。
谢谢!
答案 0 :(得分:1)
您的数据不是JSON对象,它是JSON数组。所以你需要用 JArray 类解析它:
JArray json = JArray .Parse(text);