從Server端收到的資訊是如下格式
user_i0_name=alive
user_i0_gender=male
user_i0_age=27
user_i0_company_c0_name=VIVOTEK
user_i0_company_c1_name=Mozilla
system_model=ABC1234
network_hostname=abc1234
但是這些資訊很難使用,想透過某個統一的方法把它轉成object來用。 另外存回去的時候要把object轉回跟上面一樣的assignment。
Step#1: eval拆解進區域變數
為了避免污染全域變數,前後取代原本的字串:
1 2 3 4 |
|
現在得到了一個只有一層的object,是好用了一點,但是能不能切出多層來?
Step#2: 用底線切object
1
|
|
但是這樣會有undefined的問題,如
user_i0_name=alive
會變成
object['user']['i0']['name']=alive
eval後會出現i10 is undefined.
所以要想辦法解決這種超前reference的狀況。
一個辦法是用\r\n
切分assignment後個別eval,再用try catch區塊判斷是否發生超前定義的情況。
假設發生了就個別處理該assignment。
(待續)