2012-12-06 26 views
5

Khi tôi chuyển đổi các đối tượng Json thành C#, tôi gặp sự cố Trong đó Json của tôi có các trường có ký hiệu $ (ví dụ: $ t). Nhưng C# không chấp nhận các trường có ký tự đặc biệt. Nếu tôi cố gắng thay thế $ bằng bất kỳ chữ cái nào khác trong mã C# của tôi, tôi không thể lấy dữ liệu từ bên thứ ba do thay đổi về cách đặt tên.

Tôi làm cách nào để giải quyết vấn đề này?

Json chuỗi:

"author": [(1) 
{ 
"name": { 
"$t": "theabctv" 
},- 
"uri": { 
$t": "http://gdata.abc.com/feeds/api/users/theabctv" 
},- 
"yt$userId": { 
"$t": "tCUABCCT7wYG1PMCpw" 
}- 
}- 
],- 

mã C#: -

public class Author2 

{ 

public Name2 name { get; set; } 
public Uri2 uri { get; set; } 
public YtUserId __invalid_name__yt$userId { get; set; } 
} 
public class Name2 
{ 
public string __invalid_name__$t { get; set; } 
} 

public class Uri2 
{ 
public string __invalid_name__$t { get; set; } 
} 

public class YtUserId 
{ 
public string __invalid_name__$t { get; set; } 
} 

Trả lời

2

Không có cách nào để khai báo tên thuộc tính với các biểu tượng trong khuôn khổ NET, có nghĩa là bạn không thể có đẳng cấu giữa các đối tượng JSON và các đối tượng C# mà không phân tích cú pháp dữ liệu JSON. Bạn có thể thay thế tất cả ký hiệu $ bằng bất kỳ chuỗi đã cho nào (được chọn cẩn thận), quản lý dữ liệu trong mã phía sau và khi bạn cần gửi dữ liệu JSON của đối tượng, áp dụng thay thế nghịch đảo.

+0

Thanx rất nhiều ... Tôi đã làm với nó – user1881554

Các vấn đề liên quan