1

以下にリストされているjsonに変換されたxmlファイルがあります。各属性から -Name と -Value を取得する方法を見つけようとしましたが、うまくいきませんでした。jsonobj.Media.Attribute[i] に等しいサブオブジェクトを作成する必要があると思いますが、それを行うと -Name または -Value にアクセスできません。助言がありますか?

jsonobj= {
      "Media": {
            "Attribute": [
              {
                "-Name": "Keywords",
                "-Value": "keyword value"
              },
              {
                "-Name": "Title",
                "-Value": "title value"
              },
              {
                "-Name": "Description",
                "-Value": "description value"
              },
              {
                "-Name": "Author",
                "-Value": "author value"
              },
              {
                "-Name": "Copyright",
                "-Value": "copyright value"
              }
            ]
          }
        };
4

4 に答える 4

2

これにより、探しているすべての値が警告されます。

var list = jsonobj.Media.Attribute
for(index in list)
{
    var obj = list[index];
    var name = obj["-Name"];
    var value = obj["-Value"];

    alert(name);
    alert(value);
}
于 2013-02-27T19:28:34.953 に答える
1

jsonobj.Media.Attribute を反復し、['-Name'] を使用して値を取得します

for(var i = 0; i < jsonobj.Media.Attribute.length ; i++)
{
 var attr = jsonobj.Media.Attribute[i]
 alert(attr["-Name"]);
 alert(attr["-Value"]);
}
于 2013-02-27T19:29:32.557 に答える
0

キー属性を識別できません。未定義のプロパティ「属性」を読み取ることができないと言います。

于 2013-05-15T07:02:02.137 に答える
0

コード内では使用できません-。これは演算子であるため、JS はメソッドとして認識しません。

問題を解決するには、他の方法でプロパティにアクセスできます。

それ以外の場合は、コード: jsonobj.Media.Attribute[i].-Name

以下を使用できます。 jsonobj.Media.Attribute[i].["-Name"]

たとえば、呼び出しと同じことは次のとおりです。 jsonobj.["Media"].Attribute[i].["-Name"]

于 2013-02-27T19:43:46.900 に答える