0

こんにちは私はjsonの完全な初心者です。このスレッドで説明されているように、jsonファイルをWebページに解析しようとしています.........

非常に基本的なJSONの質問

ただし、私のjsonファイルは、上記の例の「people」のような配列にない連絡先の大きなリストです。代わりに、私のjsonファイルの最初の6行は次のようになります。

{ "first_name": "Tom", "last_name": "Moore", "phone": "123456", "email": "tom@abc.ie" }
{ "first_name": "Fred", "last_name": "Power", "phone": "197412", "email": "fred@abc.ie" }
{ "first_name": "Ann", "last_name": "Doyle", "phone": "836547", "email": "ann@abc.ie" }
{ "first_name": "Phil", "last_name": "Jones", "phone": "927481", "email": "phil@abc.ie" }
{ "first_name": "Jane", "last_name": "Ross", "phone": "993377", "email": "jane@abc.ie" }
{ "first_name": "Tom", "last_name": "Moore", "phone": "123456", "email": "tom@abc.ie" }

上記のスレッドのように表示するには、どうすればそれらをループできますか?よろしくお願いします。

4

4 に答える 4

1

jsonが無効です。外側を角かっこで囲み、項目の間にコンマを入れる必要があります。そのはず:

[
    { "first_name": "Tom", "last_name": "Moore", "phone": "123456", "email": "tom@abc.ie" },
    { "first_name": "Fred", "last_name": "Power", "phone": "197412", "email": "fred@abc.ie" },
    { "first_name": "Ann", "last_name": "Doyle", "phone": "836547", "email": "ann@abc.ie" },
    { "first_name": "Phil", "last_name": "Jones", "phone": "927481", "email": "phil@abc.ie" },
    { "first_name": "Jane", "last_name": "Ross", "phone": "993377", "email": "jane@abc.ie" },
    { "first_name": "Tom", "last_name": "Moore", "phone": "123456", "email": "tom@abc.ie" }
]

$.getJSONjsonの解析を処理します-次のようにします。

$.getJSON('/url/of/the/json/file', function(people) {
    alert(people[0].first_name)
});
于 2012-05-23T11:09:07.330 に答える
0

これはjson形式ではないため、json用の関数で処理することはできません。サーバー側でlib/functionを使用して正しいjson出力を作成することをお勧めします。そうすれば、クライアント側でも使用する方がはるかに簡単になります。

于 2012-05-23T11:09:45.997 に答える
0
var t = eval('[{ "first_name": "Tom", "last_name": "Moore", "phone": "123456", "email": "tom@abc.ie" },{ "first_name": "Fred", "last_name": "Power", "phone": "197412", "email": "fred@abc.ie" },{ "first_name": "Ann", "last_name": "Doyle", "phone": "836547", "email": "ann@abc.ie" },{ "first_name": "Phil", "last_name": "Jones", "phone": "927481", "email": "phil@abc.ie" },{ "first_name": "Jane", "last_name": "Ross", "phone": "993377", "email": "jane@abc.ie" },{ "first_name": "Tom", "last_name": "Moore", "phone": "123456", "email": "tom@abc.ie" }]');

for (i in t) {
var data = t[i];
  for (k in data) {
    alert(k+" >> "+data[k])
  }
}

キーとして「k」、値として「data[k]」を取得できます。

于 2012-05-23T11:13:03.443 に答える
0

すでに述べたように、JSON は有効ではありません。疑わしい場合は、いつでも確認できます。

http://jsonlint.com/ または http://json.parser.online.fr/

于 2012-05-23T12:00:01.720 に答える