mirror of
https://github.com/google/flatbuffers.git
synced 2026-07-03 03:42:26 +00:00
[C#] support Json Serialization (#5752)
* support json serialization
* fix invalid json format.
* string must be written with double quotes.
* remove commma after the last object member.
* fix indent
* Revert "fix invalid json format."
This reverts commit d6820ed50c.
* quated string value.
* add cs-gen-json-serializer flag.
* fix preprocessor indent
* ENABLE_JSON_SERIALIZATION -> ENABLE_JSON_SERIALIZATION_TEST
* share TestBuffer method
* remove ENABLE_JSON_SERIALIZATION
* remove duplicated test data
* [windows] add nuget restore and copy test data.
* [docker mono] share msbuild settings with windows. add nuget restore and copy test data.
* add some note for json api.
This commit is contained in:
@@ -146,12 +146,50 @@ public struct Movie : IFlatbufferObject
|
||||
|
||||
public class MovieT
|
||||
{
|
||||
[Newtonsoft.Json.JsonProperty("main_character_type")]
|
||||
private Character MainCharacterType {
|
||||
get {
|
||||
return this.MainCharacter != null ? this.MainCharacter.Type : Character.NONE;
|
||||
}
|
||||
set {
|
||||
this.MainCharacter = new CharacterUnion();
|
||||
this.MainCharacter.Type = value;
|
||||
}
|
||||
}
|
||||
[Newtonsoft.Json.JsonProperty("main_character")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(CharacterUnion_JsonConverter))]
|
||||
public CharacterUnion MainCharacter { get; set; }
|
||||
[Newtonsoft.Json.JsonProperty("characters_type")]
|
||||
private Character[] CharactersType {
|
||||
get {
|
||||
if (this.Characters == null) return null;
|
||||
var _o = new Character[this.Characters.Count];
|
||||
for (var _j = 0; _j < _o.Length; ++_j) { _o[_j] = this.Characters[_j].Type; }
|
||||
return _o;
|
||||
}
|
||||
set {
|
||||
this.Characters = new List<CharacterUnion>();
|
||||
for (var _j = 0; _j < value.Length; ++_j) {
|
||||
var _o = new CharacterUnion();
|
||||
_o.Type = value[_j];
|
||||
this.Characters.Add(_o);
|
||||
}
|
||||
}
|
||||
}
|
||||
[Newtonsoft.Json.JsonProperty("characters")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(CharacterUnion_JsonConverter))]
|
||||
public List<CharacterUnion> Characters { get; set; }
|
||||
|
||||
public MovieT() {
|
||||
this.MainCharacter = null;
|
||||
this.Characters = null;
|
||||
}
|
||||
|
||||
public static MovieT DeserializeFromJson(string jsonText) {
|
||||
return Newtonsoft.Json.JsonConvert.DeserializeObject<MovieT>(jsonText);
|
||||
}
|
||||
public string SerializeToJson() {
|
||||
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user