2013-10-02 78 views
0

Example with JSON显示来自JSON的选定信息

如何显示来自JSON的特殊信息?例如在test.json中我们有

{ 
    "productName": "Sencha Touch", 
    "version": "2.0 Beta", 
    "sampleData": [ 
     { 
      "foo": "bar", 
      "desc": "This sample content is loaded from the server." 
     } 
    ] 
} 

所以如何在按钮上点击XMLHTTP。只显示来自“desc”的信息?

UPDATE

,如果我有这样那样,如果JSON解析如何呢?

[ 
    { 
     "id": 7, 
     "answers": [ 
      { 
       "id": 6, 
       "answer": "1", 
       "isCorrect": false 
      }, 
      { 
       "id": 7, 
       "answer": "5", 
       "isCorrect": false 
      }, 
      { 
       "id": 5, 
       "answer": "3", 
       "isCorrect": true 
      } 
     ], 
     "question": "1+2=?" 
    }, 
    { 
     "id": 14, 
     "answers": [ 
      { 
       "id": 28, 
       "answer": "5", 
       "isCorrect": false 
      }, 
      { 
       "id": 31, 
       "answer": "7", 
       "isCorrect": true 
      }, 
      { 
       "id": 29, 
       "answer": "2", 
       "isCorrect": false 
      }, 
      { 
       "id": 30, 
       "answer": "6", 
       "isCorrect": false 
      } 
     ], 
     "question": "2+5=?" 
    }, 
    { 
     "id": 9, 
     "answers": [ 
      { 
       "id": 13, 
       "answer": "3", 
       "isCorrect": false 
      }, 
      { 
       "id": 11, 
       "answer": "5", 
       "isCorrect": false 
      }, 
      { 
       "id": 14, 
       "answer": "6", 
       "isCorrect": true 
      }, 
      { 
       "id": 12, 
       "answer": "7", 
       "isCorrect": false 
      } 
     ], 
     "question": "3+3=?" 
    } 
] 

Thx!

回答

1

success回调Ext.AjaxRequest,response.responseText只是一个字符串,可以使用Ext.decode()解码。因此,解码该字符串,然后您可以将结果用作对象,并像访问任何javascript对象一样访问descobj.sampleData[0].desc

所以,用这条线替换实例进行线上141:

contentView.setHtml(Ext.decode(response.responseText).sampleData[0].desc); 
+0

是的,谢谢。但有一点问题。如果我没有其他JSON,请参阅更新。有什么想法? – user2483213

+0

与其他任何javascript对象一样... – kevhender

+0

我尝试'contentView.setHtml(Ext.decode(response.responseText).question [0]);',但得到了错误 – user2483213