grid 解析json

对于网上EXT的学习,大多提到json数据的接受问题,但是很少说到json数据中其他属性的得到:如下,

 

��ӵ����������ǩ��  ��ӵ���QQ��ǩ��  ��ӵ����ٶ��Ѳء�  ��ӵ���Google��ǩ��  ��ӵ���Yahoo�ղء�  ��ӵ�������  ��ӵ����й��տ���  ��ӵ�������ViVi�ղؼС�  ��ӵ���POCO��ժ��  ��ӵ�����Ѷ��ժ��  ��ӵ������ڡ�  �Ƽ��diglog��  �Ƽ���ڿ͡�  �Ƽ����ϲ����  ����ӵ�Live Bookmark��  ��ӵ���Del.icio.us��  ��ӵ���Digg��  ��ӵ���FaceBook��  365Key��ժ  ����ҳ�ղ���һժ<����ע��>  ��ժ  ��ӵ���igooi��ժ��
如题,请问我如何得到JsonReader的totalProperty属性值 

部分源码如下 
this.topPanel = new Ext.FormPanel({ 
        id: "topPanel", 
        region: 'north', 
        height: 100, 
        width: 500, 
        layout: 'column', 
        frame: true, 
        border: false, 

        reader: new Ext.data.JsonReader({ root: 'date', totalProperty: 'totalPageCount' }, 
                                        [{ name: 'au_fname', mapping: 'fname', type: 'string' }, 
                                        { name: 'au_lname', mapping: 'lname', type: 'string' } 
                                        ]), 

--------------------------------------------------------- 
我想得到reader里的totalProperty的属性,以便我自己分页用。谢谢


回答:Ext.getCmp('topPanel').reader.meta.totalProperty
另外你要是获得不到,请注意你要确保数据已经加载,之后加载之后才能获得数据啊,也就是放到ds.on函数之下,你可以见我的另外一篇文章《 怎样获得JSON语句中的属性值》--http://easonfans.iteye.com/blog/450193。

 

 

<think>好的,用户的问题是如何在HTML5中解析JSON数据,需要了解方法及示例。我需要先理解用户的需求。H5也就是HTML5,通常指的是现代的网页技术,可能包括JavaScript。用户可能是在前端开发中遇到了处理JSON数据的问题,比如从API获取数据后如何解析并展示在页面上。 首先,回忆一下解析JSON的方法。JSON是JavaScript对象表示法,在JavaScript中内置了JSON对象,有parse和stringify方法。所以解析JSON字符串应该用JSON.parse()。用户可能知道这一点,但需要具体的示例和步骤。 接下来,参考用户提供的引用内容。引用[1]提到了用JS动态解析多层级JSON生成HTML,这可能涉及到遍历JSON对象,构建DOM元素。引用[2]提到了解析JSON字符串的三种方法,但用户只提到需要HTML5的方法,所以可能主要关注原生的JSON.parse(),可能还有其他方法比如eval(),但eval有安全风险,不推荐使用。引用[3]是Oracle PL/SQL的例子,可能和前端无关,暂时忽略。 用户需要的是在HTML5中的方法,也就是JavaScript的方法,所以核心应该是使用JSON.parse(),然后将解析后的数据渲染到页面上。可能需要不同层级的例子,比如单层列表、树形结构、表格等,如引用[1]中的示例。 需要确保回答的结构清晰,分步骤说明,并提供代码示例。可能还需要提到安全注意事项,比如确保JSON数据是合法的,避免使用eval。另外,可能还要提到如何处理异步获取的数据,比如通过fetch API获取后再解析。 用户的问题可能隐含了如何将解析后的数据动态生成HTML内容,所以示例中需要包括如何操作DOM元素,比如createElement、appendChild等方法。同时,可能需要处理多层嵌套的JSON结构,比如对象中包含数组,数组中有对象等。 另外,用户可能对错误处理感兴趣,比如JSON格式错误时的异常处理,使用try...catch块来捕获错误。 总结回答的结构:首先介绍JSON.parse()方法,然后给出示例,包括单层解析、多层解析生成不同结构,可能还要提到动态加载数据的方法,比如fetch。最后添加相关问题,引导用户进一步学习。</think>在HTML5中解析JSON数据主要通过JavaScript原生的`JSON.parse()`方法实现,以下是具体方法与示例: --- ### 一、JSON数据解析基础方法 1. **核心方法** 使用`JSON.parse(jsonString)`将JSON字符串转换为JavaScript对象: ```javascript const jsonString = '{"name":"张三","age":25}'; const jsonObj = JSON.parse(jsonString); console.log(jsonObj.name); // 输出:张三 ``` 2. **安全注意事项** - 需确保JSON字符串格式合法,否则会抛出`SyntaxError`,建议使用`try...catch`处理异常: ```javascript try { JSON.parse('无效JSON'); } catch (error) { console.error('解析失败:', error); } ``` - 避免使用`eval()`解析JSON,存在安全风险[^2]。 --- ### 二、动态生成HTML内容的示例 #### 示例1:解析单层JSON生成列表 ```html <div id="userList"></div> <script> const data = '{"users":["张三","李四","王五"]}'; const jsonData = JSON.parse(data); const list = document.getElementById('userList'); jsonData.users.forEach(user => { const item = document.createElement('li'); item.textContent = user; list.appendChild(item); }); </script> ``` #### 示例2:解析多层JSON生成树形结构 ```javascript const jsonStr = `{ "department": "技术部", "employees": [ {"name":"张三", "skills": ["JavaScript","HTML5"]}, {"name":"李四", "skills": ["Python","SQL"]} ] }`; const data = JSON.parse(jsonStr); const container = document.createElement('div'); container.innerHTML = `<h2>${data.department}</h2>`; data.employees.forEach(emp => { const div = document.createElement('div'); div.innerHTML = `${emp.name}:${emp.skills.join(', ')}`; container.appendChild(div); }); document.body.appendChild(container); ``` --- ### 三、结合异步请求的完整流程 通过`fetch`API获取远程JSON数据并解析: ```javascript fetch('https://api.example.com/data') .then(response => response.json()) // 自动调用JSON.parse() .then(data => { // 动态生成HTML内容 }) .catch(error => console.error('请求失败:', error)); ``` --- ### 四、高级应用场景 - **动态表单生成**:根据JSON配置渲染输入字段[^1] - **响应式布局**:结合CSS Grid/Flexbox动态调整内容 - **数据可视化**:将解析后的数据传入图表库(如ECharts) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值