0

私は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オブジェクトの定義の違反を指摘できれば、それは大歓迎です。

ありがとうございました!

4

1 に答える 1

1

データは JSON オブジェクトではなく、JSON 配列です。したがって、 JArrayクラスで解析する必要があります。

JArray json = JArray .Parse(text);
于 2013-10-05T14:22:07.783 に答える