2016-11-22 1 views
0

XMLをjsonに変換したので、jsonファイルには属性の前に記号「@」が付きます。たとえば、<xml id=1></xml>と私は{@ id = 1}を取得します。 kendo uiグリッドを使用し、データのプロパティは@で始まります。

[{@action:"include", @defaultValue:"", @expression:"", @format:"",@isPrimary:"True"},{@action:"include", @defaultValue:"", @expression:"", @format:"",@isPrimary:"True"},{@action:"include", @defaultValue:"", @expression:"", @format:"",@isPrimary:"True"}] 

ため、私はいくつかのデータを作成する必要があり、この構造により

は、今私は剣道グリッドでこれを実装したいのですが、私は少しcomfusedています。

model: { 
       fields: { 
        Action: { 
         field: '@action', 
        }, 
        DefaultValue: { 
         field: '@defaultValue', 
        }, 
        Format: { 
         field: '@format', 
        }, 
        Expression: { 
         field: '@expression', 
        } 
       } 
      } 

、私のコラムで

columns: [{ 
     field: "Action", 
     title: "Action", 
    }, { 
     field: "DefaultValue", 
     title: "Default Value", 
    }, { 
     field: "Format", 
     title: "Format", 
    }, { 
     field: "Expression", 
     title: "Expression", 
    }] 

しかしdoen't仕事、私は "にSyntaxError:無効または予期しないトークン" を取得

答えて

1
  1. は、モデルの定義が有効な構文ではありません... model.fields設定にfieldName.fieldオプション(http://docs.telerik.com/kendo-ui/api/javascript/data/model#methods-Model.define)が含まれていないようです。
  2. "@"はJavaScriptの名前では有効な文字ではありません。データ配列リテラルのように制御できるコードで簡単に行うことができますが、剣道はそれをしません文法エラーである[email protected]のようなものを参照しようとします。フィールドオプションを定義するとき

    「[ 『@action』]」

:だから、あなたはそうのような書式を使用することにより、角括弧表記と引用されたフィールド名を使用してに剣道を「だます」しなければなりません。これは、@を可能にするために、あなたに引用されたフィールド名を与え、それはそれのデモが取り組んでいる分野ここ

にアクセスしたときに剣道ではなく、ドット表記のブラケット表記法を使用して発生します http://dojo.telerik.com/@Stephen/uPiGE

これは、所要のフォーマットの両方を示していますフィールド名、およびモデル定義の構文。

しかし、そういったことを言っていると.....あなたのフィールド名には本当に@が必要ですか?

+0

ご回答いただきありがとうございます。あなたの質問に答えるために私はXMLからjsonに変換した後にデータを取得するので、「@」が必要です。私はあなたの道場を見て、あなたのソリューションが動作しているようだが、私は別の方法、より簡単に見つける...私はデータを編集し、グリッドを初期化する前に属性から文字 '@'を削除します。 – GomuGomuNoRocket

+0

はい、グリッド設定で@フィールド名を使用していないのは解決策です... –

関連する問題