0

次の行を含むjsonスニペットを受け取りました(文字列はjsonオブジェクトに変換されます)

"profile":{"id":"billg","name":"Bill Gates","countryCode":"US"}

ここで、ユーザーはもう1つのプロファイルを追加します。プロファイル・オブジェクトをプロファイル・オブジェクトの配列に変換する必要があります。

"profile":[{"id":"billg","name":"Bill Gates","countryCode":"US"},{"id":"steve","name":"Steve Jobs","countryCode":"US"}]

ポインタやコードは大歓迎です

4

2 に答える 2

1

あなたがあなたのコードを見せてくれると本当に素晴らしいでしょう:私たちは基本的にこのjson文字列のソースが何であるかを知りません(JSON = JavaScript Object Notation、したがって「JSONオブジェクト」はトートロジーです)、そして私たちは方法がわかりません作成された2番目のプロファイルです。

ただし、これを考慮してください。

var jsonData = '{"profile":{"id":"billg","name":"Bill Gates","countryCode":"US"}}';
var data     = JSON.parse(jsonData); // it's an object now...
var profile  = data.profile;         // storing another object as a value of `.profile` property
var anotherProfile = {"id":"steve","name":"Steve Jobs","countryCode":"US"};
if (! profile[0]) { // checking whether it's an array or not
   // it's not, so we should make an array, adding another profile as well
   data.profile = [data.profile, anotherProfile]; 
}
else { // but if it was, it'd be enough just to push anotherProfile into the end of it
   data.profile.push(anotherProfile);
}
console.log(data);
于 2012-07-07T07:52:52.237 に答える
0
Try This: 


   var obj = jQuery.parseJSON('"profile":[{"id":"billg","name":"Bill Gates","countryCode":"US"},{"id":"steve","name":"Steve Jobs","countryCode":"US"}]');

    var a = obj.profile;

    var jsonArrObj = $.parseJSON('[' + a + ']');

次のように配列内の名前にアクセスできます。

for (i in jsonArrObj)
{
alert(jsonArrObj[i]["name"]);
}
于 2012-07-07T07:47:30.257 に答える