首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

JSON 資料綁定問題:實為 JavaScript 物件操作非 C#

     編輯:程式設計疑難解答

問題釐清

提問標籤為 C#,但程式碼明顯為 **JavaScript** 語法。變數 itema 構建方式混淆了字串拼接與物件字面量,導致無法正確動態賦值屬性。

正確的 JavaScript 寫法

// 1. 直接使用物件字面量建立結構
var itema = {
    "pictures": {
        name: 'Pictures',
        type: 'folder',
        'icon-class': 'red'
    }
};

// 2. 動態新增屬性:兩種等價方式
// 方式 A:括號語法(適合屬性名為變數時)
itema['pictures']['additionalParameters'] = {
    'children': [
        { name: '<i class="icon-music blue"></i> song1.ogg', type: 'item' },
        { name: '<i class="icon-music blue"></i> song2.ogg', type: 'item' }
        // ...更多項目
    ]
};

// 方式 B:點語法(屬性名固定時更簡潔)
itema.pictures.additionalParameters = { /* 同樣結構 */ };

核心概念補充

  • obj['key'] 與 obj.key 等價,前者支援變數作為鍵名:var k='name'; obj[k]。
  • JSON 是資料交換格式(字串),JavaScript 中操作的是**物件**。若需傳輸,用 JSON.stringify(obj) 序列化;接收端用 JSON.parse(str) 反序列化。
  • C# 中處理 JSON 請使用 Newtonsoft.Json (Json.NET) 或 System.Text.Json,定義對應類別進行反序列化。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved