0

私は json が初めてなので、これについて助けてください。この json から値を取得しようとしています。例: この json から fname を取得したい。この値を取得するにはどうすればよいですか。showdata.fname 、 showdata.id[0].fname を試しましたが、これが愚かな質問であることがわかりませんが、助けてください。

var showdata = {
    "fc1d3f54-bcd3-2c4d-2626-cb9904e63800": {
        "fname": "Nitish",
        "lname": "pakhare",
        "phoneno": "4545445",
        "id": "fc1d3f54-bcd3-2c4d-2626-cb9904e63800"
    },
    "6ae08ee6-b02d-0eeb-4ead-1d52bbdadf5e": {
        "fname": "Ashish",
        "lname": "Pakahre",
        "phoneno": "454545",
        "id": "6ae08ee6-b02d-0eeb-4ead-1d52bbdadf5e"
    },
    "7e418c15-17c1-da8e-b614-b362f7937eb9": {
        "fname": "Arpita",
        "lname": "kimar",
        "phoneno": "454545",
        "id": "7e418c15-17c1-da8e-b614-b362f7937eb9"
    }
}
4

5 に答える 5

0

それらにアクセスしたい場合は、次のことができます。

showdata.fc1d3f54-bcd3-2c4d-2626-cb9904e63800.fname

しかし、それはそれをハードコーディングします。代わりに、ループ経由でアクセスできます。

var key, entry;

for(key in showdata){
    if(showdata.hasOwnProperty(key)){
        entry = showdata[key];
        //entry.fname
        //entry.lname
        //entry.phoneno
        //entry.id, which would be the same as key in your case
    }
}

キーをハードコーディングしないように、配列の使用を検討することもできます。

var showdata = [
    {
        "fname": "Nitish",
        "lname": "pakhare",
        "phoneno": "4545445",
        "id": "fc1d3f54-bcd3-2c4d-2626-cb9904e63800"
    }, {
        "fname": "Ashish",
        "lname": "Pakahre",
        "phoneno": "454545",
        "id": "6ae08ee6-b02d-0eeb-4ead-1d52bbdadf5e"
    }, {
        "fname": "Arpita",
        "lname": "kimar",
        "phoneno": "454545",
        "id": "7e418c15-17c1-da8e-b614-b362f7937eb9"
    }
]

//showdata[0].fname
于 2012-05-16T09:32:59.257 に答える
0

長い HEX 文字列をキーとして使用しているように見えますが、次のようなアイテムにアクセスします

showdata['fc1d3f54-bcd3-2c4d-2626-cb9904e63800']['fname']

角括弧表記はドット表記よりも好まれます。これは、特にそのような長いキーを使用して、物事を調べるのにより堅牢であるためです。

showdata['fc1d3f54-bcd3-2c4d-2626-cb9904e63800'].fname 

大丈夫だろう

整数でインデックスを付けたい場合は、おそらく次のように構造化できます。

var showdata = [
    { 
    "fname": "Nitish",
    "lname": "pakhare",
    "phoneno": "4545445",
    "id": "fc1d3f54-bcd3-2c4d-2626-cb9904e63800"
    },
    {
    "fname": "Ashish",
    "lname": "Pakahre",
    "phoneno": "454545",
    "id": "6ae08ee6-b02d-0eeb-4ead-1d52bbdadf5e"
    }
]

オブジェクトの配列として、次のことができます

showdata[0].fname
于 2012-05-16T09:33:43.803 に答える
0

showdata.fc1d3f54-bcd3-2c4d-2626-cb9904e63800.fname答えになるはずですが、うまくいくかどうかはわかりません。

于 2012-05-16T09:30:29.687 に答える