2016-06-16 9 views
1

でJSONから読み取るためにどのように私は、私は特定の場所からこのファイルから読み取るしようとしています特定の場所

"user1": { 
    "body-parser": "^1.12.2", 
    "creditcard-generator": "*" 
} 

"user2": { 
"body-parser": "^1.12.2", 
"creditcard-generator": "*" 
} 

としてJSONファイルを持っています。これまでのところ私はそうする方法を理解することができません。言って、私はuser2だけのユーザー資格情報を選びたいと思う。どのように私はjavascriptでそれを達成するのですか?どんな提案も大きな助けになるでしょう。あなたのJSONファイルがinvalideある

+0

1.これはJSONファイルではありません。 2.何を試してみたのか、どのような環境(ノード、ブラウザ、何か他のもの)で表示する。 –

答えて

0

var text = { 

    "user1": { 
     "body-parser": "^1.12.2", 
     "creditcard-generator": "*" 
    }, 

    "user2": { 
    "body-parser": "^1.12.2", 
    "creditcard-generator": "*" 
    } 
    } 

あなたはこの

にconsole.log(text.user2)のように解析することができます。

+0

これでuser2のbody-parserとcreditcard-generatorの値を取得する方法を説明します。 –

+0

回答が更新されました。 –

+0

私はvar fs = require( 'fs')を試しました。 var content = fs.readFileSync( './ actions/writeTo.json'); var jsonContent = JSON.parse(content); console.log(json.user1); 動作しません。これはjsonファイルのエラーです 失敗しました:予期しないトークンv SyntaxError:予期しないトークンv –

1

fljsが提供する答えを補完する。

最初のもの:あなたのjsonは無効です。それを配列に入れ、カンマを使ってオブジェクトを区切ります。

var model = { 
    "user1": { 
     "body-parser": "^1.12.2", 
     "creditcard-generator": "*" 
      }, 

    "user2": { 
    "body-parser": "^1.12.2", 
    "creditcard-generator": "*" 
      } 
    } 

今、あなたは、その情報を読みたい:

> model["user2"]["creditcard-generator"] 
< "*" 
0

は、これはかなり単純です。 あなたが特定の要素を参照するために、ドット演算子を使用し、それは子供だ、あなたはあなたのJavaScriptでこの

var JSON={"user1": { 
    "body-parser": "^1.12.2", 
    "creditcard-generator": "*" 
}, 

"user2": { 
"body-parser": "^1.12.2", 
"creditcard-generator": "*" 
}} 

のような変数にあなたのファイルを取得すると仮定しましょう。

Say, I want to pick user credentials only for user2.

JavaScriptでは、JSON.user2などと書くだけです。 これを試す最も簡単な方法は、コンソールにvar JSONの部分をコピーして貼り付けることです。そして、あなたのJSONオブジェクトは、通常、次のようになりますJSON.user2

0

を打つ(最初と最後に{}に注意してください):

var json = 
{ 
    "user1": { 
     "body-parser": "^1.12.2", 
     "creditcard-generator": "*" 
    }, 
    "user2": { 
     "body-parser": "^1.12.2", 
     "creditcard-generator": "*" 
    } 
} 

は今、あなたはjson.user2であるuser2の値を取得することができます。

データと質問に回答する方法は他にあります:JSONオブジェクトまたはJSON配列がありますか?あなたはすでにそれを解析しましたか?あなたはこれを使用することができ、よりgenreic何かをNEES場合

jsonObj["user2"].body-parser; 

:この記事で

ルック:あなたはspesificノードをしたい場合はhttp://www.mkyong.com/javascript/how-to-access-json-object-in-javascript/

挨拶、ニコ

+0

それを持って、私はjsonにかなり新しいです。どうすればこのファイルにアクセスできますか教えてください。私は通常、javascriptのように使用します。 var fs = require( 'fs'); varファイル= './actions/writeTo.json'; し、それへの書き込みは、 jsonfile.writeFile(ファイル、OBJ、機能(エラー){...} Similaryは、どのように私はここにJSONファイルをフェッチん –

+0

@BishwaroopChakrabortyを:?あなたはjson-を持っている場合あなたのサーバー上のファイルは、http-Request、peでJQueryで取得できます。 '$ .get(" /Action/writeTo.json "、function(data){});'データを解析しなければならないそれからあなたはあなたがアクセスできるjson/js-Objectを持っています。 – Nico

0

ちょうどこのようにアクセス関数:

var x = data.key1.children.key4; 

var path = "data"; 
function search(path, obj, target) { 
    for (var k in obj) { 
     if (obj.hasOwnProperty(k)) 
      if (obj[k] === target) 
       return path + "['" + k + "']" 
      else if (typeof obj[k] === "object") { 
       var result = search(path + "['" + k + "']", obj[k], target); 
       if (result) 
        return result; 
      } 
    } 
    return false; 
} 
//Then for evry node that you need you can call the search() function. 
var path = search(path, data, x); 
console.log(path); //data['key1']['children']['key4'] 

まず、JSONを有効な構造に修正する必要があることに注意してください。

関連する問題