我知道我可以使用类似于下面的代码在序列化属性名称时将属性名称从Name更改为name,但是我也想在序列化对象名称并使用return Ok(myobj)之类的返回值时更改对象名称。
但是,是否可以对下面的类进行类似的操作,以便将其序列化为person而不是Person。我看过JsonObject,但看不到任何东西。
[JsonObject(PropertyName="person")]
public class Person
{
[JsonProperty(PropertyName = "name")]
public String Name { get; set; }
}
答案 0 :(得分:1)
如果只希望您的班级名称以小写字母开头,则可以执行以下操作:
CamelCaseNamingStategy
由于使用from rijndael.cipher.crypt import new
from rijndael.cipher.blockcipher import MODE_CBC
import base64
PADDING = b'\x00'
def pad(payload, block_size=32):
return payload + (block_size - len(payload) % block_size) * PADDING
def un_pad(payload):
return payload.replace(PADDING, '')
KEY = 'lkirwf897+22#bbtrm8814z5qq=498j5'
IV = '741952hheeyy66#cs!9hjv887mxx7@8y'
plain_text = "A padded string to BLOCKSIZE length."
rjn = new(KEY, MODE_CBC, IV, blocksize=32)
encd = rjn.encrypt(pad(plain_text))
data = base64.b64encode(encd)
print(data)
rjn = new(KEY, MODE_CBC, IV, blocksize=32)
data = base64.b64decode(data)
decd = rjn.decrypt(un_pad(data))
print (decd)
,这会将您的类名的首字母设置为小写,您还可以创建自己的自定义命名策略来满足您的需要,可以在此处找到现有命名策略的实现:({ {3}})
答案 1 :(得分:0)
您将需要另一个包装对象以具有类似的内容。您可以使用:
return Ok(new{
Person = myobj
});