在TextBox中显示Json对象

时间:2014-07-28 18:09:42

标签: javascript jquery json

我从数据库返回json。我想只选择一个对象Value并在文本框中显示它。这是我的json。

[{
  "ErrorMessage":"",
  "ID":294,
  "ExpenseID":0,
  "EffectiveDate":"/Date(1262284200000)/",
  "FormattedEffectiveDate":"01-01-2010",
  "Perunit":null,
  "VATRate":17.5,
  "ChangedByID":1,
  "ChangedByName":"superuser, superuser",
  "Expense":null,
  "ErrorSummary":null,
  "ErrorList":[]
 }]  

我试过了

 var Jsoninvoice = JSON.stringify(data)
 alert(Jsoninvoice.VATRate) and also alert(data.VATRate)

提前谢谢你。

3 个答案:

答案 0 :(得分:3)

您有一个包含1个对象的数组。 stringify将此对象转换为字符串 - 您需要对其进行解析以便使用它。

(我不确定对象是否已被解析,所以要覆盖所有基础,我们将解析它)

var Jsoninvoice = JSON.parse(data);
alert(Jsoninvoice[0].VATRate);

您必须先指定数组索引才能访问属性。

答案 1 :(得分:1)

它已经是json对象而不需要stringify,因为 @tymJV 表示如果以字符串形式返回需要解析它,只需要访问数组项,因为它是一个数组:

alert(data[0].VATRate)

SEE FIDDLE

答案 2 :(得分:0)

您可以使用$.parseJSON(YOURJSON),然后使用键来提取数据。由于它在一个数组中,你必须使用[0]来拉出数组中的第一项(即:你的数据)。

实施例

$(document).ready(function(){
    var j ='[{"ErrorMessage":"","ID":294,"ExpenseID":0,"EffectiveDate":"/Date(1262284200000)/","FormattedEffectiveDate":"01-01-2010","Perunit":null,"VATRate":17.5,"ChangedByID":1,"ChangedByName":"superuser, superuser","Expense":null,"ErrorSummary":null,"ErrorList":[]}]';
    var json = $.parseJSON(j);
    alert("VATRate: "+json[0].VATRate);
});

Fiddle for reference