0

現在、順序付けられたJSON文字列がiPhoneアプリに渡されており、JSONフレームワークを使用して解析されています。

データは次のとおりです。

"league_table": object{
"Premiership": array[6],
"Championship": array[6],
"Division 1": array[6],
"Division 2": array[6],
"Division 3": array[6]
}

ただし、それを解析すると、奇妙な順序がスローされます。

Division 2
Division 1
Championship
"Division 3"
Premiership

私が電話して得たもの:NSLog(@"%@",[dictionaryValue allKeys]);

誰かがこれを以前に経験したことがありますか?もう一度並べ替えるにはどうすればよいですか?

アップデート ::

短縮されたUN-ParsedJSONはここにあります:

{"league_table":
{
"Premiership":[],
"Championship":[],
"Division 1":[],
"Division 2":[],
"Division 3":[]}
}

私の知る限り、これはキーと値のペアであるため、同じ順序で解析する必要があります。たとえば、http://json.parser.online.fr/にアクセスして貼り付けると、正しい順序で解析されます。ただし、JSON-Frameworkはそれを同じように解析しません。実際の並べ替えが行われずに、奇妙な順序で解析します。

4

2 に答える 2

4

JSON オブジェクト フィールドには定義された順序がありません。定義された順序でキーと値のペアが必要な場合は、基本的に 2 つのオプションがあります。

  1. 単一フィールド オブジェクトの配列:

    [{"Premiership": array[6]},
     {"Championship": array[6]},
     {"Division 1": array[6]},
     {"Division 2": array[6]},
     {"Division 3": array[6]}]
    
  2. キーと値のペアの配列:

    [["Premiership", array[6]],
     ["Championship", array[6]],
     ["Division 1", array[6]],
     ["Division 2", array[6]],
     ["Division 3", array[6]]]
    

補足: サンプル データと JSON の関係は半分推測しています。object私は何をしているかわからないarray[6]

于 2010-12-06T15:40:26.933 に答える
0

ええ、私は前にそれを見たことがあります。

これはあなたに問題を引き起こしますか?それはディクショナリ(キー付き)のように見えます..だから、あなたのアプリケーションはキーによって必要な要素にアクセスするだけだと思います。

JSON配列形式は順序を維持すると思います。

編集

わかりましたので、順序を維持する必要があります...しかし、あなたの言うことから、キーは重要ではないようです.

JSON 文字列の作成を管理していますか? もしそうなら、次のようなデータを提示していただけますか:

[
{
"leagueName":"Premiership",
"leagueLines":[...]
},
{
"leagueName":"Championship",
"leagueLines":[...]
},
{
"leagueName":"League One",
"leagueLines":[]
},
 ... etc ....
]

私は情報のためにリーグ名を入れました...あなたが何かのためにそれを必要とするかもしれないことを誰が知っていますか:)

幸運を

于 2010-12-06T15:41:53.297 に答える