2012-07-17 89 views
-1

我想創建一個JSON對象,該對象在調用函數時通過javascript創建了一個數組。 (例如「list()」)。該函數應該爲以下內容返回一個json對象。使用數組結構創建Json對象

{ 
"config": [ 
      { 
      "name":"steve", 
      "id":"123" 
      }, 
      { 
      "name":"adam", 
      "id":"124" 
      }, 
      { 
      "name":"eve", 
      "id":"125" 
      } 
      ] 
} 

謝謝...

+0

你想要一個包含數組的json obj?正如我們所知在JS對象可以看作關聯數組:http://www.quirksmode.org/js/associative.html,所以我不知道它是不是在幫你在這裏... – 2012-07-17 08:35:41

+0

當你說「json對象」你請參考json字符串或包含數據的實際對象?因爲json代表JavaScript對象表示法,並描述了將基本JavaScript對象序列化爲字符串的方法。這意味着任何JavaScript對象**都是** json對象..「 – keymone 2012-07-17 08:35:52

+0

」沒有這樣的東西作爲['JSON對象'](http://benalman.com/news/2010/03/theres-no-such-事情 - 作爲一種JSON /)。」 – outis 2012-07-17 09:18:38

回答

0

我知道「谷歌問題」的答案在這裏沒有表示讚賞,但嚴重

有多難輸入「JavaScript的JSON」到谷歌?並遵循第一個鏈接?這裏:http://www.json.org/js.html

0

這是你在尋找什麼

var yourArray = [ 
      { 
      "name":"steve", 
      "id":"123" 
      }, 
      { 
      "name":"adam", 
      "id":"124" 
      }, 
      { 
      "name":"eve", 
      "id":"125" 
      } 
      ]; 

JSON lib

var myJsonString = JSON.stringify(yourArray); 

JQuery json

var encoded = $.toJSON(yourArray); 
0

JSON是隻是該對象的字符串表示。 Json的重點在於語法本身是有效的JavaScript,可以將其解析爲對象。

很難理解你在這裏問什麼。如果你只是想知道如何與代碼的對象工作,你可以做這樣的事情:

var myObj = {}; 
myObj.config = []; 
myObj.config[0] = {}; 
myObj.config[0].name = "steve"; 
myObj.config[0].id = "123"; 
myObj.config[1] = {}; 
myObj.config[1].name = "adam"; 
myObj.config[1].id = "124"; 
myObj.config[2] = {}; 
myObj.config[2].name = "eve"; 
myObj.config[2].id = "125"; 

這是完全等價的:

var myObj = { 
    "config": [ 
     { 
     "name":"steve", 
     "id":"123" 
     }, 
     { 
     "name":"adam", 
     "id":"124" 
     }, 
     { 
     "name":"eve", 
     "id":"125" 
     } 
    ] 
}; 
0

我已經做了完整斌解析數組json字符串中的json對象,並使用jQuery顯示html格式。

HTML:

<div class="jsonobj"> 
</div> 
<br/> 
<input type="button" value="Run" id="btnrun"/> 
<input type="button" value="Reset" id="btnreset"/> 

CSS:

.jsonobj{ 
    background:#ddd; 
} 
.jsonobj .key{ 
    display:inline-block; 
    clear:both; 
    color:#993322; 
} 
.jsonobj .val{ 
    color:#336622; 
    display:inline-block; 
    margin-left:7px; 
} 
input[type=button]{ 
    border:1px solid #333; 
} 
input[type=button]:hover{ 
    background:#eee; 
} 

JQuery的:

function list(a) { 
    if (a == null || typeof(a) == "undefined") return false; 

    return JSON.parse(a); 
} 
$(function() { 

    $("#btnrun").click(function() { 
     var jsonarr = '{"config": [{ "name":"steve", "id":"123"}, { "name":"adam", "id":"124"},{"name":"eve","id":"125"}]}'; 

     //Convert into JSON Object 
     var jsonObject = list(jsonarr); 

     var i = 0, 
      html = ''; 
     $.each(jsonObject.config, function(k, val) { 
      html += "<div class='key'>Name:</div><div class='val'>" + val.name + "</div>"; 
      html += "<br/><div class='key'>Id:</div><div class='val'>" + val.id + "</div><br/>"; 

     }); 
     if (html != '') { 
      $(".jsonobj").css({ 
       'padding': '5px', 
       'border': '1px solid #222' 
      }); 
      $(".jsonobj").html(html); 
     } 
    }); 

    $("#btnreset").click(function() { 
     $(".jsonobj").css({ 
      'padding': '0px', 
      'border': '0px' 
     }); 
     $(".jsonobj").html(""); 
    }); 

    //Trigger Run on ready 
    $("#btnrun").trigger('click'); 
}); 

嘗試在http://codebins.com/bin/4ldqpai