① 前端用ajax怎麼傳遞easyui 分頁參數 page和rows 後台php怎麼接受啊 在tp框架中寫的
easyUI也是通過js的那一套,通過路徑傳的呀,你再好好研究。
② 前端 豎向(縱向)表格如何處理
可以先按橫向表格的思路來做,再使用專門用於表格行列轉換的插件來處理。這類插件網路上很容易搜索到的。
③ 在js中怎樣獲取當前頁面表格中的數據
1、JS獲取表格的簡便方法:獲取tbody:tBodies 獲取thead:tHead 獲取tfoot:tFoot 獲取行tr:rows 獲取列td:cells
使用實例: oTable.tBodies[0] oTable.tHead[0] oTable.tFoot[0] oTable.rows[1] oTable.cells[1]
2、遍歷
var oTable=document.getElementById("表格id");
oTable.tBodies[0]可以看成是rows和cells組成的二維數組,用兩個for循環嵌套遍歷一下就可以了
④ html中框架(frame)的詳細使用方法
框架概念 :
所謂框架便是網頁畫面分成幾個框窗,同時取得多個 URL。只 要 <FRAMESET> <FRAME> 即可,而所有框架標記 要放在一個總起的 html 檔,這個檔案只記錄了該框架 如何劃分,不會顯示任何資料,所以不必放入 <BODY> 標記,瀏覽這框架必須讀取這檔 案而不是其它框窗的檔案。<FRAMESET> 是用以劃分框窗,每一框窗由一個 <FRAME> 標 記所標示,<FRAME>必須在 <FRAMESET> 范圍中使用。如下例:
<frameset cols="50%,*">
<frame name="hello" src="up2u.html">
<frame name="hi" src="me2.html">
</frameset>
此例中 <FRAMESET> 把畫面分成左右兩相等部分,左便是顯示 up2u.html,右邊則會顯示 me2.html 這檔案,<FRAME> 標記所標示的框窗永遠是按由上而下、由左至右的次序。
<FRAMESET> <FRAME> :
<FRAMESET> 稱框架標記,用以宣告HTML文件為框架模式,並設定視窗如何分割。
<FRAME> 則只是設定某一個框窗內的參數屬性。
<FRAMESET> 參數設定:
例子:<frameset rows="90,*" frameborder="0" border=0 framespacing="2" bordercolor="#008000">
COLS="90,*"
垂直切割畫面(如分左右兩個畫面),接受整數值、百分數, * 則代表佔用餘下空 間。數值的個數代表分成的視窗數目且以逗號分隔。例如 COLS="30,*,50%" 可以 切成三個視窗,第一個視窗是 30 pixels 的寬度,為一絕對分割,第二個視窗是當 分配完第一及第三個視窗後剩下的空間,第三個視窗則占整個畫面的 50% 寬度 為 一相對分割。您可自己調整數字。
ROWS="120,*"
就是橫向切割,將畫面上下分開,數值設定同上。唯 COLS 與 ROWS 兩參數盡量 不要同在一個 <FRAMESET> 標記中,因 Netacape 偶然不能顯示這類形的框架,盡 採用多重分割。
frameborder="0"
設定框架的邊框,其值只有 0 和 1 , 0 表示不要邊框, 1 表示要顯示邊框。(避 免使用 yes 或 no )
border="0"
設定框架的邊框厚度,以 pixels 為單位。
bordercolor="#008000"
設定框架的邊框顏色。
framespacing="5"
表示框架與框架間的保留空白的距離。
<FRAME> 參數設定:
例子:<frame name="top" src="a.html" marginwidth="5" marginheight="5" scrolling="Auto" frameborder="0" noresize framespacing="6" bordercolor="#0000FF">
SRC="a.html"
設定此框窗中要顯示的網頁檔案名稱,每個框窗一定要對應著一個網頁檔案。你可 使用絕對路徑或相對路徑,有關此兩者詳見於【連結進階】。
NAME="top"
設定這個框窗的名稱,這樣才能指定框架來作連結,必須但任意命名。
frameborder=0
設定框架的邊框,其值只有 0 和 1 , 0 表示不要邊框, 1 表示要顯示邊框。(避 免使用 yes 或 no )
framespacing="6"
表示框架與框架間的保留空白的距離。
bordercolor="#008000"
設定框架的邊框顏色。顏色值請參考【HTML 剖析】。
scrolling="Auto"
設定是否要顯示卷軸,YES 表示要顯示卷軸,NO 表示無論如何都不要顯示, AUTO是視情況顯示。
noresize
設定不讓使用者可以改變這個框框的大小,亦沒有設定此參數,使用者可以很隨 意地拉動框架,改變其大小。
marginhight=5
表示框架高度部份邊緣所保留的空間。
marginwidth=5
表示框架寬度部份邊緣所保留的空間。
<NOFRAMES> :
當別人使用的瀏覽器太舊,不支援框架這個功能時,他看到的將會是一片空白。為了避免 這種情況,可使用 <NOFRAMES> 這個標記,當使用者的瀏覽器看不到框架時,他就會看 到 <NOFRAMES> 與 </NOFRAMES> 之間的內容,而不是一片空白。這些內容可以是提醒 瀏覽轉用新的瀏覽器的字句,甚至是一個沒有框架的網頁或能自動切換至沒有框架的版本 亦可。
應用方法:
在<frameset> 標記范圍加入 </NOFRAMES> 標記,以下是一個例子:
<frameset rows="80,*">
<noframes>
<body>
很抱歉,饋下使用的瀏覽器不支援框架功能,請轉用新的瀏覽器。
</body>
</noframes>
<frame name="top" src="a.html">
<frame name="bottom" src="b.html">
</frameset>
若瀏覽器支援框架,那堋它不會理會 <noframes> 中的東西,但若瀏覽器不支援框架,由 於不認識所有框架標記,不明的標記會被略過,標記包圍的東西便被解讀出來,所以放在 <noframes>范圍內的文字會被顯示。
<IFRAME> :
這標記只適用於 IE。 它的作用是在一頁網頁中間插入一個框窗以顯示另一個文件。它是 一個圍堵標記,但圍著的字句只有在瀏覽器不支援 iframe 標記時才會顯示,如<noframes> 一樣,可以放些提醒字句之類。通常 iframe 配合一個辨認瀏覽器的 Java Script 會較好,若 JavaScript 認出該瀏覽器並非 Internet Explorer 便會切換至另一版本。
<iframe> 的參數設定如下:
例子: <iframe src="iframe.html" name="test" align="MIDDLE" width="300" height="100" marginwidth="1" marginheight="1" frameborder="1" scrolling="Yes">
src="iframe.html"
欲顯示於此框窗的文件來源除檔案名稱,必要加上相對或絕對路徑。
name="test"
此框窗名稱,這是連結標記的 target 參數所 要的,
align="MIDDLE"
可選值為 left, right, top, middle, bottom,作用不大
width="300" height="100"
框窗的寬及長,以 pixels 為單位。
marginwidth="1" marginheight="1"
該插入的文件與框邊所保留的空間。
frameborder="1"
使用 1 表示顯示邊框, 0 則不顯示。(可以是 yes 或 no)
scrolling="Yes"
使用 Yes 表示容許卷動(內定), No 則不容許卷動。
例子: 原始碼
<center> <iframe src="http://www.pce.com.cn/index.html" name="test" align="MIDDLE" width="300" height="100" marginwidth="5" marginheight="5" frameborder="1">
很抱歉,饋下使用的瀏覽器並不支援 IFrame,不能正常瀏覽我的網頁。</iframe>
</center>
frameset參數傳遞問題
左邊的條件參數如何傳,右邊才能接收
--------------------------------------------------------------------------------
對三個幀分別命名為:left.asp(顯示查詢條件的頁面,其中幀名為:left),top.asp,main.asp(顯示查詢結果的頁面,其中幀名為:main)
如:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>search</title>
</head>
<frameset rows="80,*" frameborder="NO" border="0" framespacing="0">
<frame src="top.asp" name="top" scrolling="NO" noresize >
<frameset cols="80,*" frameborder="NO" border="0" framespacing="0">
<frame src="left.asp" name="left" scrolling="NO" noresize>
<frame src="main.asp" name="main">
</frameset>
</frameset>
<noframes><body>
</body></noframes>
</html>
在left的表單中寫成:
<form name="form1" method="post" action="main.asp" target="main">
......//你自己設計吧。
</form>
這樣就可以你的查詢條件傳給main.asp中了!
⑤ 前端展示分狀態列表 是一次請求自己過濾還是 多次請求
淺談一下Cognos處理大數據的思路,僅針對10.2.1以下的版本,對於10.2.1當中引入的hadloop等分布式數據倉庫等不做介紹。我們主要從一個一般中等項目當中,用怎樣的思路來優化我們的查詢。
我們主要從3個思路來思考大數據的處理
一、資料庫層次
現在主流的Cognos項目,主要的開發模式還是基於rolap的dmr報表建模。因此,資料庫的優化就顯得由為重要。主要通過以下幾個方面優化我們的資料庫:
(1)維度id,維度層次id等關鍵減縮欄位建立索引建立、維護。
(2)根據數據量的大小,按時間等進行分區優化。
(3)高速緩沖表MQT的使用
(4)表空間、緩沖池設置等
(5)資料庫性能優化
二、Cognos Server優化
Cognos優化包括對配置文件的優化,集群的搭建,服務和日誌的開啟等基於cognos 軟體安裝,配置的優化,主要包括以下幾個方面:
2.1 apache 配置優化
Timeout(超時)/MaxKeepAliveRequests(最大的請求數)/KeepAliveTimeout(請求超時)的優化配置
2.2Cognos自帶tomcat配置調優
(1)可修改TOMCAT配置文件CRN_ROOT\tomcat.\conf\server.xml。其參數集中在行:
可以對maxProcessors(最大進程數)/AcceptCount(最大連接數) ConnectionTimeout(連接超時)進行修改
(2)文件路徑:CRN_ROOT\tomcat.\conf\web.xml
可以對session-timeout進行修改.
2.3Cognos sever配置文件優化
2.3.1 reportservice.xml優化
文件路徑:CRN_ROOT\ webapps\p2pd\WEB-INF\services\ reportservice.xml
註:修改文件後,重啟服務後配置生效。
包括以下參數 max_process(交互報表處理進程數,和cpu有關) inger_process(交互報表初始化進程數,和cpu優關)
max_non_affine_connections_per_process(交互報表所佔線程數) idle_process_check_interval_ms(空閑檢測時間)
queue_time_limit_ms(報表服務隊列時間限制) async_wait_timeout_ms(Dispatcher請求等待同步時間)
2.3.2 batchreportservice.xml
文件路徑:CRN_ROOT\ webapps\p2pd\WEB-INF\services\ batchreportservice.xml
註:修改文件後,重啟服務後配置生效。
包括以下參數 max_process(服務批量報表處理所佔進程數) linger_process(服務批量報表處理初始化進程數)
max_non_affine_connections_per_process(服務批量報表處理所佔線程數) idle_process_check_interval_ms(空閑進程檢測時間間隔)
idle_process_max_idle_ticks(空閑進程檢測標記) queue_time_limit_ms(批量報表處理排隊時間限制) async_wait_timeout_ms(Dispatcher請求等待同步時間)
2.3.3 CQEConfig.xml
主要是與資料庫參數設置,文件路徑:CRN_ROOT\configuration\ CQEConfig.xml.sample
註:將CQEConfig.xml.sample文件名修改為CQEConfig.xml後,重啟服務後配置生效。
可以修改以下參數:Timeout(應用資料庫連接超時設置) PoolSize(應用資料庫連接池最大連接數設置) queryReuse(查詢緩沖設置)
2013-07-08 0
分享
答案對人有幫助,有參考價值1
曾力 - Cognos講師、Cognos獨立顧問、數據倉庫架構師 2013-07-08 回答
2.3.4 ppds_cfg.xml
主要進行緩存和日誌參數設置,文件路徑:\cognos\c8\configuration\ ppds_cfg.xml
註:重啟服務後配置生效。
可以修改以下參數:ReadCacheSize(可減少用戶訪問時伺服器的磁碟IO。提高訪問速度。) pcQueryLogFile(建議生產環境關閉該日誌的跟蹤,一般默認也是關閉狀態)
2.4 Cognos content store優化
2.4.1優化內容庫連接服務
內容庫最好外配為db2 oracle等資料庫,不要用自帶的derby.因為項目中的日誌信息會非常多,嚴重影響內容庫的效率。
Cognos Administration,在系統下選擇選擇對應的服務,選擇ContentManagerService的屬性,設置相應的連接參數信息。
2.4.2日誌優化
適當開啟各個cognos服務的日誌級別,越高級的級別對應更詳細,更明確的日誌,但也會影響整個系統的效率。
這是一把雙刃劍,需要適當調整。日誌級別設置得越高,就越降低系統性能。通常情況下,您可以將級別設置為
逗最小地或逗基本地來收集錯誤,或設置為逗請求地來收集錯誤和警告。
2.5提高訪問資料庫速度
Cognos和資料庫間參數在cer\bin\cogdm.ini文件中,(根據版本不同是安裝目錄的數字,根據連接的資料庫不同,是對應資料庫名稱的關鍵字)
以oracle資料庫為例,參數在cogdmor.ini文件中,打開這個文件查找字元串Fetch Number of Rows=去掉這行前面的分號,將10改成2000;
這樣這行就成了Fetch Number of Rows=2000,表示是每次從資料庫取2000條數據。其他資料庫基本上都有類似的配置。用以提高從資料庫中提取數據的速度。
2.6加大緩存
cer\bin\Cer.ini(*根據版本不同是安裝目錄的數字):
SortMemory=5120
(這里 SortMemory 單位是 2kbytes,5120代表 2k x 5120 = 10M)(技巧:一般 SortMemory 取空閑內存的十分之一到八分之一大小)
2.7修改cognos configuration中的參數來優化
在cognos configuration中有很多參數可以優化來提高整體軟體的運行效率,比如增加內存、增加查詢緩存
2.8分布式部署
分布式部署可以大大提升Cognos伺服器的負載能力,同時容錯保護功能可以使伺服器更為穩定的運行,很好的支持大用戶量的並發使用。
2013-07-08 0
答案對人有幫助,有參考價值1
曾力 - Cognos講師、Cognos獨立顧問、數據倉庫架構師 2013-07-08 回答
3.報表設計優化
Cognos報表作為一個工具,在非cube模式下,最終我們執行報表查詢的時候,我們的報表發送到資料庫進行查詢的本質還是sql,所以,在我們製作一張報表的時候,我們要盡可能的利用fm,rs當中的功能,優化報表最終執行生成的SQL實現整個報表的優化。而CUBE模式下,我們更多要考慮配置、存放和資料庫大小所造成的影響,下面我會細細說來。
2013-07-08 0
答案對人有幫助,有參考價值1
曾力 - Cognos講師、Cognos獨立顧問、數據倉庫架構師 2013-07-08 回答
3.1 FM建模優化
3.1.1手寫SQL定製查詢主題
右鍵點擊查詢主題的菜單項Edit Definition…可以進入SQL語句編寫框,調整查詢主題的SQL語句。默認情況下,這里的SQL語句為Cognos SQL類型。如果需要編寫應用資料庫可以直接運行的本地SQL需要將這里的SQL類型進行設置。點擊右上方的Options按鈕,選擇SQL Settings標簽頁,選擇SQL Type為Native。這個時候,我們手寫SQL就非常注重這個SQL的優化,盡量避免SELECT *,用EXISTS替代IN,多使用DECODE來進行判斷,條件語句注意點等常用SQL優化策略,編寫對應的SQL.
3.1.2盡量使用特定數據的資料庫函數
在菜單項Actions中選擇Specify Package Function List…指定報表定製中可以使用的資料庫函數列表。將除應用資料庫意外的其他資料庫類型從Selected function sets中選到Available function sets中,盡量使用特定資料庫的自帶函數可以提高查詢效率。
3.1.3表關聯設定
在建立表關聯盡量避免使用外關聯關系(包括左外關聯、右外關聯、全外關聯)。外關聯的使用會使資料庫的查詢壓力驟增,從而影響前端報表的生成。在星型結構、雪花型結構的數據倉庫模型中,盡量按照一對一、一對多的關聯關系設定維表與實事表之間的關聯,Cognos Server會依照這里的關聯關系自動優化提交給資料庫的SQL語句。如果關聯關系中出現了環狀連接關系,可以通過別名表或是快捷鍵的方式解決環狀連接問題.
3.1.4Edit Governors查詢性能設置
在菜單項Project中選擇Edit Governors,可以設置查詢的查詢性能
Report table limits 該屬性設置報表中運行SQL所涉及的TABLE數量
Data retrieval limits 該屬性設置報表中運行SQL返回結果的數量
Query execution time limits 該屬性設置報表中運行SQL的執行時間
Large text items limit 該屬性設置報表中運行SQL返回大文字塊的字元數量限制
2013-07-08 0
答案對人有幫助,有參考價值1
曾力 - Cognos講師、Cognos獨立顧問、數據倉庫架構師 2013-07-08 回答
3.2 RS報表調優
3.2.1報表函數的使用
在報表函數的使用上,盡可能使用應用資料庫能夠解析的本地資料庫函數,函數列表中的通用函數,在處理時會將函數放在報表伺服器進行運算,從而增大了報表伺服器的性能開銷。
3.2.2 觀察查詢的SQL
我們選擇查詢頁面,GENERATE SQL/MDX觀察這個報表生成的SQL並進行不斷優化,
3.3.33.2 RS報表調優
3.2.1報表函數的使用
在報表函數的使用上,盡可能使用應用資料庫能夠解析的本地資料庫函數,函數列表中的通用函數,在處理時會將函數放在報表伺服器進行運算,從而增大了報表伺服器的性能開銷。
3.2.2 觀察查詢的SQL
我們選擇查詢頁面,GENERATE SQL/MDX觀察這個報表生成的SQL並進行不斷優化,
3.3.3查詢欄位、查詢表順序調整
根據資料庫的優化策略,可能需要將查詢欄位的順序進行調整,可以在Data Items窗口中進行設置。查詢SQL語句中,From關鍵字後面的表順序是按照select關鍵字後出現的欄位順序進行設置的。在為表順序進行設置時,屬性為Identifier或Attribute的欄位比屬性為Fact的欄位在為表排序時的優先順序要高,即,先以Identifier、Attribute欄位的出現順序為表進行排序,如果沒有上述兩類欄位,才以Fact欄位的出現順序為表進行排序。
3.3.4聚合前後設置過濾條件
將過濾條件的Application屬性設置為After aggregation或Before aggregation可以調整過濾條件在聚合前或是聚合後生效。After aggregation生成過濾條件的SQL語句使用的是關鍵字having,而Before aggregation生成過濾條件的SQL語句使用的是關鍵字where。
3.3.5取消報表自動分組提高明細報表查詢速度
如果報表要展現明細數據,不想使用任何匯總,我們可以到此報表對應的查詢中將自動分組屬性定義為否。修改地方:對象的屬性Auto Group & Summarize可以設置當前SQL語句的查詢中是否加入distinct、sum、group by這樣的關鍵字。默認情況下,該屬性設置為Yes,可以根據查詢情況關掉此開關項,減少SQL語句的復雜度。
3.3.6自動排序設置
在Query的Auto-sort屬性中可以為查詢設置是否自動排序。如果選擇是,則會在生成的SQL語句中自動加入Order By關鍵字,排序欄位將自動根據數據項的屬性進行設置(如果查詢欄位的usage屬性為Attribute、Identifier則排序,如果為Fact則不排序);如果選擇否、則不排序;如果選擇最小,則根據數據項的排序屬性進行排序設置。默認值為最小。
3.3.7報表Processing設置
在Query的Processing屬性中可以為查詢設置SQL的處理設置。Cognos Report Studio會將報表的所有設置首先轉換為Cognos SQL提交給報表伺服器,伺服器在進行必要處理後,會將SQL語句轉換為應用資料庫本地執行的SQL語句,進行資料庫處理。為提高報表的處理速度,要盡可能的將報表的處理運算放在資料庫進行,以保證其運行速度。將該屬性設置為Database only會將報表頁面生成的Cognos SQL不經報表伺服器處理全部轉換為資料庫能夠執行的本地資料庫SQL,如果將該屬性設置為Limited Local,則將報表頁面生成的Cognos SQL先進行必要的報表伺服器運算,然後再將剩餘的部分提交給資料庫進行本地SQL的處理。默認值為Framework中為Datasource對象的設置的queryProcessing屬性。
3.3.8使用With子句
在Query的Use SQL With Clause屬性中可以為查詢設置是否使用With子句。部分資料庫例如Oracle支持With關鍵字,當查詢中嵌套子查詢時,可以通過With子句的使用,減輕報表伺服器對Cognos SQL的處理,從而提升報表的運行性能。如果將該屬性設置為Yes,則允許使用With關鍵字,查詢中生成的Native SQL將出現With子句;如果將該屬性設置為No,雖然拒絕使用With關鍵字。默認值為Framework中Edit Governors下的Use WITH clause when generating SQL屬性設置。
3.3.9報表伺服器本地緩存設置
在Query的Use Local Cache屬性中可以為查詢設置是否使用本地緩存。如果將該屬性設置為Yes,則啟用伺服器的本地緩存,伺服器將為查詢結果保存在session中,當用戶在瀏覽器內再次打開同一張報表時,查詢結果將取自緩存,從而減輕了資料庫的負載壓力;如果將該屬性設置為No,則禁用伺服器的本地緩存,查詢結果全部取自資料庫的實時數據。默認值為Framework中Edit Governors下的Allow usage of local cache屬性設置。
我用的是finereport,比這個方便
⑥ bootstrap table 分頁showing 101 to 0 of 0 rows是什麼意思
bootstrap只是一個前端框架
既然你已經做好了分頁空間,那麼只需要在前端使用
<ul class="pagination">
<li class="disabled"><a href="#">1</a></li>
<li class="active"><a href="#">2</a></li>
...
</ul>
將分頁控制項包裹一下就好了。
⑦ 前端能處理多大數據,以及後端能傳給前端多大數據
1 前段使用bootstrap table 顯示數據表格(包括分頁功能),後端返回類型為PageBean時 前無需做特殊處理
部分代碼為
maplist=customerService.search(map);
int count = customerService.searchCount(map);
PageBean pageBean = new PageBean();
pageBean.setTotal(count);
pageBean.setRows(maplist);
return pageBean;
2 後端返回類型為List時,前段獲取方式為result.length
後端java:
public List> search(){
return domainService.search();
}
前段js:
success : function(result) {
for(var i =0;i
result[i].id
}
}
3 後端返回類型為PageBean>>時,前段獲取方式為result.rows
後端java:
PageBean>> pageBean = new PageBean>>();
pageBean.setTotal(count);
pageBean.setRows(result);
return pageBean;
前段js:
success : function(result) {
var result= result.rows;
for(var i =0;i
result[i].name
}
}
4 後端返回類型為Map時,前段獲取方式為result
後端java:
public Map register(HttpServletRequest request){
return map.put("result ", 「成功」);
}
前段js:
success : function(result) {
result.result
}
⑧ html里的input文本框怎樣單行變多行
多行的就不能使用Input了。需要使用textarea標簽屬性:
textarea代表html的單多行輸入域
html多行輸入框
tyle="OVERFLOW: hidden">
style="OVERFLOW: visible">始終不顯示滾動條,文本區域的大小會根據內容的增加,自動增長,以顯示全部內容
<textarea cols="2" rows="6" style="OVERFLOW: hidden"></textarea>
例子
<tr>
<td></td>
<td><textarea name="reworkmes" cols="40" rows="4" style="OVERFLOW: hidden"></textarea></td>
</tr>
(8)前端rows擴展閱讀
textarea標簽是成對出現的,以<textarea>開始,以</textarea>結束
專有屬性.
1、common-- 公共屬性
2、accesskey-- 表單的快捷鍵訪問方式
3、cols -- 多行輸入域的列數
4、disabled-- 輸入域無法獲得焦點、無法選擇,以灰色顯示,在表單中不起任何作用
5、name-- 元素名稱
6、readonly-- 輸入域可以選擇,但是無法修改
7、rows -- 多行輸入域的行數
8、tabindex-- 輸入域的"tab"鍵遍歷順序
參考資料
網路-HTML
⑨ easyui datagrid total rows怎麼用
EasyUI的DataGrid要求返回的JSON數據集是這樣的形式:
{"total":總記錄數量,"rows":[數據記錄數組]}。
例如:
{"total":100,"rows":[{"name":"張三","id":1},{"name":"李四","id":2}]}
需要注意的是:
返回結果必須是JSON格式而不是普通字元串。
注意JSON字元串中的單雙引號轉義。
建議在服務端Java代碼中使用Jackson或者JSON-lib來創建JSON對象並賦值,然後再toString轉為JSON字元串返回到前端頁面。
⑩ js怎樣讀取json裡面的數據
varjson={contry:{area:{man:"12萬",women:"10萬"}}};
//方式一:使用eval解析
varobj=eval(json);
alert(obj.constructor);
alert(obj.contry.area.women);
//方式二:使用Funtion函數
varstrJSON="{name:'jsonname'}";//得到的JSON
varobj=newFunction("return"+strJSON)();//轉換後的JSON對象
alert(obj.name);//jsonname
alert(obj.constructor);
//復雜一點的json數組數據的解析
varvalue1=[{"c01":"1","c02":"2","c03":"3","c04":"4","c05":"5","c06":"6","c07":"7","c08":"8","c09":"9"},{"c01":"2","c02":"4","c03":"5","c04":"2","c05":"8","c06":"11","c07":"21","c08":"1","c09":"12"},{"c01":"5","c02":"1","c03":"4","c04":"11","c05":"9","c06":"8","c07":"1","c08":"8","c09":"2"}];varobj1=eval(value1);
alert(obj1[0].c01);
//復雜一點的json的另一種形式
varvalue2={"list":[{"password":"1230","username":"coolcooldool"},{"password":"thisis2","username":"okokok"}],"array":[{"password":"1230","username":"coolcooldool"},{"password":"thisis2","username":"okokok"}]};
varobj2=eval(value2);
alert(obj2.list[0].password);