0

これはおそらく非常に簡単な質問ですが、次の形式の php json_encoded javascript オブジェクトがあるとします。

var js_objet = {
    "1": {
        "Users": {
            "id": "14",
            "name": "Peter"
         }, 
         "Children": [
             {
                 id: 17, 
                 name: "Paul"
             }, 
             {
                 id: 18, 
                 name: "Mathew"
             }
        ]
      }    
    }

そのオブジェクトから、たとえば ID 18 (Mathew) の子の名前を取得するためのシンタックスは何ですか?

ありがとうございました

4

4 に答える 4

1

前述のカスタム関数は次のとおりです。

function getChildrenById(id){
    for (var child in js_objet[1].Children){
        if(id == js_objet[1].Children[child].id){
            return js_objet[1].Children[child].name;
        }
    }
    return false;
}

実行getChildrenById(18)すると「Mathew」が返されます

それが役立つことを願って、

R.

于 2013-08-19T16:18:24.333 に答える
0

次のように実行できます。

var name = js_objet["1"].Children[1].name;

JSFiddleはこちらから入手できます

于 2013-08-19T16:07:58.800 に答える
0

これが私がこの問題に取り組む方法です:

var id = 18;
var name = '';
var jsObjIndex = "1";
var jsObjAttr = "Children"
for (var i = 0; i < js_objet[jsObjIndex][jsObjAttr].length; i++)
{
    if (js_objet[jsObjIndex][jsObjAttr][i].id == id)
    {
        name = js_objet[jsObjIndex][jsObjAttr][i].name;
        break;
    }
}

基本的に、jsObjIndex.Children のすべての要素に対して線形検索を実行しています。ただし、より良い解決策がある可能性があります:)。

于 2013-08-19T16:17:39.577 に答える