Đối với một trò chơi webgl mà chúng tôi đang thực hiện cho một dự án trường học, chúng tôi phải triển khai bản địa hóa. Chúng tôi quyết định làm điều này với google sheet. Nhưng chúng tôi không thể phân tích cú pháp kết quả một cách chính xác
Chúng tôi đang thực hiện một yêu cầu nhận. https. // tờ. googleapis. com/v4/bảng tính/[FILE_ID]/giá trị/A1. D4?key=[API_KEY]⪯ttyPrint=false
Kết quả chúng tôi đang nhận được trở lại là
{
"range": "Sheet1!A1:D4",
"majorDimension": "ROWS",
"values": [
["key", "en-gb", "en-us", "nl-nl"],
["MAIN_MENU", "main menu", "main menu", "hoofdmenu"],
["SHOP", "store", "shop", "winkel"],
["CHARACTER_SELECTION", "character selection", "character selection", "Karakter keuze"]
]
}
Khi chúng tôi cố gắng phân tích nó với
[Serializable]
public struct API_RESULT {
public string range;
public string majorDimension;
public string[][] values;
}
API_RESULT data = JsonUtility.FromJson[req.downloadHandler.text];
Phạm vi và kích thước chính đang hoạt động chính xác, nhưng đối với các giá trị, chúng tôi nhận được một mảng có độ dài 4 nhưng các mục trống
Có điều gì đó mà chúng tôi đang quên làm, hay đơn giản là không thể làm điều này?
Bình luận
Thêm bình luận
10. Cần 3000 ký tự còn lại ký tự
▼
- Có thể xem bởi tất cả người dùng
- Người kiểm duyệt có thể xem
- Có thể xem bởi người kiểm duyệt và người đăng gốc
- Khả năng hiển thị nâng cao
1
Trả lời bởi Bunny83 · Ngày 28 tháng 3 năm 2019 lúc 08. 49 giờ tối
Unity's JsonUtility có các hạn chế giống như hệ thống tuần tự hóa thông thường trong Unity vì nó có nghĩa là một phần mở rộng. Vì vậy, nó không hỗ trợ các mảng lồng nhau/răng cưa như thế. Tôi thực sự khuyên bạn nên sử dụng trình phân tích cú pháp json khác. Tôi đã viết SimpleJSON dưới dạng một trình phân tích tệp duy nhất cung cấp quyền truy cập đơn giản và thuận tiện vào dữ liệu json. Nó không giải tuần tự hóa thành các đối tượng tùy chỉnh mà chỉ phân tích cú pháp dữ liệu thành cấu trúc phân cấp
Phân tích cú pháp ví dụ của bạn bằng SimpleJSON bạn chỉ có thể làm
JSONNode data = JSON.Parse[yourJsonText];
string range = data["range"].Value;
string majorDimension = data["majorDimension"].Value;
foreach[JSONNode n in data["values"]]
{
string key = n[0].Value;
string vEngGB = n[1].Value;
}
Lưu ý rằng mỗi JSONNode cung cấp một struct enumerable / enumerator kiểu KeyValuePair
. Tuy nhiên SimpleJSON đi kèm với một toán tử chuyển đổi ẩn cho phép chuyển đổi KeyValuePair
thành JSONNode
. Điều này xảy ra trong ví dụ của tôi với vòng lặp foreach. Tuy nhiên, bạn cũng có thể lặp qua "mảng" theo cách cổ điển
Chuyển đổi mảng thành đối tượng JSON javascript;
JSON có nghĩa là Ký hiệu đối tượng JavaScript. JSON là một định dạng trao đổi dữ liệu cực kỳ nhẹ để trao đổi dữ liệu giữa phía máy chủ và phía máy khách, nhanh chóng và dễ dàng phân tích và tạo
Nếu bạn đang làm việc với JSON trong JavaScript, thì bạn cũng nên đọc hai bài viết này. Đó là về JSON của javascript
- Chuyển đổi chuỗi JSON thành JavaScript đối tượng JSON
- JavaScript Chuyển đổi đối tượng JSON thành chuỗi đối tượng
- JavaScript Xóa các đối tượng trùng lặp khỏi mảng
Chuyển đổi mảng thành đối tượng JSON JavaScript
Hãy sử dụng phương thức sau để chuyển đổi mảng, đối tượng mảng và mảng hai chiều thành đối tượng json trong JavaScript
- 1. Chuyển đổi mảng thành đối tượng JSON JavaScript
- 2. Chuyển đổi một đối tượng thành một mảng
- 3. Chuyển đổi mảng hai chiều [ 2d ] thành JSON Object JavaScript
1. Chuyển đổi mảng thành đối tượng JSON JavaScript
Bạn có thể sử dụng JSON. stringify để chuyển đổi một mảng thành chuỗi có định dạng JSON trong JavaScript
Giả sử có một mảng chẳng hạn như “[1, 2, 3, 4]”. Nếu bạn muốn chuyển đổi mảng này thành Đối tượng JSON trong javascript. Hãy xem ví dụ dưới đây
Bán tại. -
var array = [1, 2, 3, 4]; var arrayToString = JSON.stringify[Object.assign[{}, array]]; // convert array to string var stringToJsonObject = JSON.parse[arrayToString]; // convert string to json object console.log[stringToJsonObject];
Nơi đây,
- 1. JSON. stringify[] và đối tượng. phương thức gán[] chuyển đổi mảng thành chuỗi JSON
- 2. JSON. phương thức parse[] chuyển đổi chuỗi thành đối tượng JSON trong javascript
2. Chuyển đổi một đối tượng thành một mảng
Khi chuyển đổi một đối tượng thành một mảng, chúng ta sẽ sử dụng phương thức .entries[]
từ lớp Object
. Điều này sẽ chuyển đổi đối tượng của chúng ta thành một mảng các mảng. Mỗi mảng lồng nhau là một danh sách hai giá trị trong đó mục đầu tiên là khóa và mục thứ hai là giá trị