Tôi có thể ánh xạ JSON trong JavaScript không?

Bạn có thể ánh xạ các loại dữ liệu của mô hình kinh doanh của mình thành JSON bằng cách sử dụng các ví dụ. Dữ liệu trong JSON là một đối tượng hoặc một mảng. Một đối tượng JSON là một tập hợp các tên và giá trị không có thứ tự. Một mảng JSON là một chuỗi các giá trị được sắp xếp theo thứ tự. Một giá trị có thể là một chuỗi, một số, Boolean, null, một đối tượng hoặc một mảng

Câu lệnh định nghĩa mô hình kinh doanh (BMD) sau đây định nghĩa một khái niệm có tên là người

a person is a concept with
a first name,
a last name,
an age(integer),
an address,
some phone numbers.

Ví dụ sau đây cho thấy biểu diễn JSON của một thể hiện của khái niệm người. Đối tượng có các giá trị chuỗi cho firstNamelastName , một giá trị số cho . age, an object value that represents the person's address, and an array value of phoneNumbers objects.

{
   "$class": "Person",
   "$CreationTime": null,                   
   "$IdAttrib": "id",    
   "firstName": "John",    
   "lastName": "Doe",    
   "age": 25,   
   "address": {        
      "streetAddress": "20 rue jean d'arc",        
      "city": "Rouen",       
      "postalCode": 76000    
      }, 
   "phoneNumbers": [        
      {            
         "type": "home",            
         "number": "0235066090"       
      },        
      {            
         "type": "mobile",            
         "number": "0648417050"
      }    
   ]
}

Quan trọng. Ký hiệu tiền tố $ được dành riêng cho việc sử dụng nội bộ, ví dụ $IdAttrib là một trường nội bộ. Tất cả các thuộc tính có tiền tố $ ngoài $class, $CreationTime và $ref đều bị bỏ qua khi bạn nhập dữ liệu bằng Java Gateway API, REST hoặc kết nối.

Lớp $ được sử dụng để chỉ các phần tử BMD được đặt tên (tên lớp thực thể, sự kiện, khái niệm) hoặc tên lớp được xác định trước như int. Nó luôn được viết trong đối tượng cấp cao nhất. Nó cũng có thể được viết trong các đối tượng phụ khi loại giá trị không phải là loại thuộc tính. Ví dụ, trong bảng 3, giá trị của thuộc tính Hình học được xác định bởi kiểu con Điểm. Điều này được gọi là đa hình kiểu

Thuộc tính $CreationTime đại diện cho thời gian tạo của một thực thể. Nó có thể là vô giá trị

Thuộc tính $ref được sử dụng để tham chiếu nội dung hiện có trong cùng một tài liệu JSON. Giá trị thuộc tính $ref là một biểu thức JSONPATH được đánh giá để truy xuất đối tượng tương ứng. Khi tải trọng JSON được sử dụng trong JavaScript, bạn có thể sử dụng JSON. retrocycle để có được biểu đồ phù hợp của các đối tượng. Khi tải trọng JSON được tạo từ JavaScript, bạn có thể sử dụng JSON. decycle để tạo $ref với các biểu thức JSONPATH phù hợp. Để biết thêm thông tin, hãy xem JSON trong JavaScript

Trong các ứng dụng Bản mô tả, chúng tôi đã sử dụng để nhận các trường hợp sử dụng trong đó dữ liệu trong đối tượng bản đồ chuyển đổi thành đối tượng JSON hoặc chuyển đổi JSON thành Bản đồ

Trong blog này, Chúng ta sẽ tìm hiểu cách chuyển đổi Bản đồ thành JSON hoặc JSON thành Bản đồ

Bản đồ là một cấu trúc dữ liệu được giới thiệu trong

{
   "$class": "Person",
   "$CreationTime": null,                   
   "$IdAttrib": "id",    
   "firstName": "John",    
   "lastName": "Doe",    
   "age": 25,   
   "address": {        
      "streetAddress": "20 rue jean d'arc",        
      "city": "Rouen",       
      "postalCode": 76000    
      }, 
   "phoneNumbers": [        
      {            
         "type": "home",            
         "number": "0235066090"       
      },        
      {            
         "type": "mobile",            
         "number": "0648417050"
      }    
   ]
}
4 để lưu trữ
{
   "$class": "Person",
   "$CreationTime": null,                   
   "$IdAttrib": "id",    
   "firstName": "John",    
   "lastName": "Doe",    
   "age": 25,   
   "address": {        
      "streetAddress": "20 rue jean d'arc",        
      "city": "Rouen",       
      "postalCode": 76000    
      }, 
   "phoneNumbers": [        
      {            
         "type": "home",            
         "number": "0235066090"       
      },        
      {            
         "type": "mobile",            
         "number": "0648417050"
      }    
   ]
}
5 và
{
   "$class": "Person",
   "$CreationTime": null,                   
   "$IdAttrib": "id",    
   "firstName": "John",    
   "lastName": "Doe",    
   "age": 25,   
   "address": {        
      "streetAddress": "20 rue jean d'arc",        
      "city": "Rouen",       
      "postalCode": 76000    
      }, 
   "phoneNumbers": [        
      {            
         "type": "home",            
         "number": "0235066090"       
      },        
      {            
         "type": "mobile",            
         "number": "0648417050"
      }    
   ]
}
6

JSON là một ký hiệu đối tượng javascript cho định dạng của

{
   "$class": "Person",
   "$CreationTime": null,                   
   "$IdAttrib": "id",    
   "firstName": "John",    
   "lastName": "Doe",    
   "age": 25,   
   "address": {        
      "streetAddress": "20 rue jean d'arc",        
      "city": "Rouen",       
      "postalCode": 76000    
      }, 
   "phoneNumbers": [        
      {            
         "type": "home",            
         "number": "0235066090"       
      },        
      {            
         "type": "mobile",            
         "number": "0648417050"
      }    
   ]
}
5 và
{
   "$class": "Person",
   "$CreationTime": null,                   
   "$IdAttrib": "id",    
   "firstName": "John",    
   "lastName": "Doe",    
   "age": 25,   
   "address": {        
      "streetAddress": "20 rue jean d'arc",        
      "city": "Rouen",       
      "postalCode": 76000    
      }, 
   "phoneNumbers": [        
      {            
         "type": "home",            
         "number": "0235066090"       
      },        
      {            
         "type": "mobile",            
         "number": "0648417050"
      }    
   ]
}
6 được đặt trong dấu ngoặc nhọn. Mã này hoạt động trong Javascript vì mã này sử dụng các lớp và cú pháp
{"one":"value1","two":"value2","three":"value3"}
1 Mới nhất

Có nhiều cách chúng ta có thể làm điều này

Cách chuyển đổi Bản đồ thành đối tượng JSON bằng phương thức TypeScript Iterate Stringify

Đầu tiên

  • {"one":"value1","two":"value2","three":"value3"}
    
    2 được tạo bằng
    {
       "$class": "Person",
       "$CreationTime": null,                   
       "$IdAttrib": "id",    
       "firstName": "John",    
       "lastName": "Doe",    
       "age": 25,   
       "address": {        
          "streetAddress": "20 rue jean d'arc",        
          "city": "Rouen",       
          "postalCode": 76000    
          }, 
       "phoneNumbers": [        
          {            
             "type": "home",            
             "number": "0235066090"       
          },        
          {            
             "type": "mobile",            
             "number": "0648417050"
          }    
       ]
    }
    5 và
    {
       "$class": "Person",
       "$CreationTime": null,                   
       "$IdAttrib": "id",    
       "firstName": "John",    
       "lastName": "Doe",    
       "age": 25,   
       "address": {        
          "streetAddress": "20 rue jean d'arc",        
          "city": "Rouen",       
          "postalCode": 76000    
          }, 
       "phoneNumbers": [        
          {            
             "type": "home",            
             "number": "0235066090"       
          },        
          {            
             "type": "mobile",            
             "number": "0648417050"
          }    
       ]
    }
    6 của kiểu chuỗi
  • Phương thức
    {"one":"value1","two":"value2","three":"value3"}
    
    5 được sử dụng để lặp lại bản đồ có chứa hàm gọi lại được gọi cho mọi thành phần của Bản đồ
  • Đối tượng được tạo và thêm các khóa và giá trị
  • Cuối cùng, Đối tượng được trả về ở định dạng JSON bằng phương thức
    {"one":"value1","two":"value2","three":"value3"}
    
    6

let map = new Map();
map.set("one", "value1");
map.set("two", "value2");
map.set("three", "value3");
let jsonObject = {};
map.forEach((value, key) => {
  jsonObject[key] = value;
});
console.log(JSON.stringify(jsonObject));

đầu ra

{"one":"value1","two":"value2","three":"value3"}

Cách chuyển đổi Bản đồ thành đối tượng JSON bằng cách sử dụng phương thức TypeScript ES6 Object fromEntries

ES6 đã giới thiệu phương thức

{"one":"value1","two":"value2","three":"value3"}
7 trong một lớp đối tượng.
{"one":"value1","two":"value2","three":"value3"}
7 lấy bản đồ đầu vào và chuyển đổi khóa và giá trị thành đối tượng JSON

{
   "$class": "Person",
   "$CreationTime": null,                   
   "$IdAttrib": "id",    
   "firstName": "John",    
   "lastName": "Doe",    
   "age": 25,   
   "address": {        
      "streetAddress": "20 rue jean d'arc",        
      "city": "Rouen",       
      "postalCode": 76000    
      }, 
   "phoneNumbers": [        
      {            
         "type": "home",            
         "number": "0235066090"       
      },        
      {            
         "type": "mobile",            
         "number": "0648417050"
      }    
   ]
}
0

đầu ra

{
   "$class": "Person",
   "$CreationTime": null,                   
   "$IdAttrib": "id",    
   "firstName": "John",    
   "lastName": "Doe",    
   "age": 25,   
   "address": {        
      "streetAddress": "20 rue jean d'arc",        
      "city": "Rouen",       
      "postalCode": 76000    
      }, 
   "phoneNumbers": [        
      {            
         "type": "home",            
         "number": "0235066090"       
      },        
      {            
         "type": "mobile",            
         "number": "0648417050"
      }    
   ]
}
1

Sau đây là các cách để chuyển đổi JSON thành Map Object

Cách chuyển đổi đối tượng JSON thành Bản đồ bằng Typecript để lặp lại trong vòng lặp

Đã tạo Đối tượng JSON chứa khóa và giá trị Tiếp theo, tạo một Bản đồ trống bằng cách sử dụng vòng lặp for…in để lặp lại đối tượng JSON và thêm các khóa và giá trị vào đối tượng Bản đồ

{
   "$class": "Person",
   "$CreationTime": null,                   
   "$IdAttrib": "id",    
   "firstName": "John",    
   "lastName": "Doe",    
   "age": 25,   
   "address": {        
      "streetAddress": "20 rue jean d'arc",        
      "city": "Rouen",       
      "postalCode": 76000    
      }, 
   "phoneNumbers": [        
      {            
         "type": "home",            
         "number": "0235066090"       
      },        
      {            
         "type": "mobile",            
         "number": "0648417050"
      }    
   ]
}
2

Cách chuyển đổi đối tượng JSON thành Bản đồ bằng phương thức nhập ES6 Typecript

Phương thức nhập đối tượng được giới thiệu trong ES6 để chuyển đổi đối tượng JSON thành MAP trong javascript và bản thảo

{
   "$class": "Person",
   "$CreationTime": null,                   
   "$IdAttrib": "id",    
   "firstName": "John",    
   "lastName": "Doe",    
   "age": 25,   
   "address": {        
      "streetAddress": "20 rue jean d'arc",        
      "city": "Rouen",       
      "postalCode": 76000    
      }, 
   "phoneNumbers": [        
      {            
         "type": "home",            
         "number": "0235066090"       
      },        
      {            
         "type": "mobile",            
         "number": "0648417050"
      }    
   ]
}
3

Tóm lược

Tóm lại, Chúng ta đã học được nhiều cách để chuyển đổi các đối tượng JSON sang/từ JSON trong TypeScript và Javascript

Bạn có thể ánh xạ JSON không?

Bạn có thể ánh xạ các loại dữ liệu của mô hình kinh doanh của mình thành JSON bằng cách sử dụng các ví dụ . Dữ liệu trong JSON là một đối tượng hoặc một mảng. Một đối tượng JSON là một tập hợp các tên và giá trị không có thứ tự. Một mảng JSON là một chuỗi các giá trị được sắp xếp theo thứ tự.

Bạn có thể đặt JSON trong JavaScript không?

JSON là định dạng tự nhiên để sử dụng trong JavaScript và có sẵn nhiều triển khai để sử dụng trong nhiều ngôn ngữ lập trình phổ biến. Nếu bạn muốn sử dụng định dạng trong ngôn ngữ lập trình khác, bạn có thể xem hỗ trợ ngôn ngữ đầy đủ trên trang web “Giới thiệu JSON”.

JSON có bị hạn chế đối với JavaScript không?

Không chính xác. JSON là định dạng dữ liệu độc lập với bất kỳ ngôn ngữ lập trình nào, mặc dù nó có nguồn gốc từ JavaScript .

Làm cách nào để tạo bản đồ trong JSON?

Đây là các bước để tạo JSON từ Bản đồ. .
Tạo một đối tượng Bản đồ bằng cách sử dụng lớp HashMap
Đặt một số cặp khóa-giá trị vào đối tượng bản đồ
Tạo một JSONObject và chuyển bản đồ làm đối số cho hàm tạo của nó
In JSONObject , chúng tôi gọi đối tượng. toString() để lấy chuỗi JSON