From e6740d9e0eb82a8a0b289045d4d79e932f27257b Mon Sep 17 00:00:00 2001 From: liuq19 Date: Fri, 19 Apr 2024 15:36:09 +0800 Subject: [PATCH] fix: enable pretouch apis --- decoder/decoder.go | 23 +- dev/decoder/compile_struct.go | 2 +- dev/decoder/decoder.go | 57 +- issue_test/hugestruct_test.go | 1688 ++++++++++++++++----------------- issue_test/issue3_test.go | 4 +- option/option.go | 12 +- 6 files changed, 924 insertions(+), 862 deletions(-) diff --git a/decoder/decoder.go b/decoder/decoder.go index 42dc2c8c1..411c04a78 100644 --- a/decoder/decoder.go +++ b/decoder/decoder.go @@ -18,10 +18,8 @@ package decoder import ( `io` - `reflect` `github.com/bytedance/sonic/dev/decoder` - `github.com/bytedance/sonic/option` ) func init() { @@ -51,18 +49,21 @@ const ( var ( // NewDecoder creates a new decoder instance. NewDecoder = decoder.NewDecoder + + // Pretouch compiles vt ahead-of-time to avoid JIT compilation on-the-fly, in + // order to reduce the first-hit latency. + // + // Opts are the compile options, for example, "option.WithCompileRecursiveDepth" is + // a compile option to set the depth of recursive compile for the nested struct type. + Pretouch = decoder.Pretouch + + // Skip skips only one json value, and returns first non-blank character position and its ending position if it is valid. + // Otherwise, returns negative error code using start and invalid character position using end + Skip = decoder.Skip ) -// Pretouch compiles vt ahead-of-time to avoid JIT compilation on-the-fly, in -// order to reduce the first-hit latency. -// -// Opts are the compile options, for example, "option.WithCompileRecursiveDepth" is -// a compile option to set the depth of recursive compile for the nested struct type. -func Pretouch(vt reflect.Type, opts ...option.CompileOption) error { - return nil -} -// TODO: replace stream decoder with dev/decoder + type StreamDecoder = decoder.StreamDecoder // NewStreamDecoder adapts to encoding/json.NewDecoder API. diff --git a/dev/decoder/compile_struct.go b/dev/decoder/compile_struct.go index 3bd20d4db..1f8c91e60 100644 --- a/dev/decoder/compile_struct.go +++ b/dev/decoder/compile_struct.go @@ -88,7 +88,7 @@ func (c *compiler) compileFieldStringOption(vt reflect.Type) decFunc { func (c *compiler) compileStruct(vt reflect.Type) decFunc { c.enter(vt) defer c.exit(vt) - if c.depth >= c.opts.MaxInlineDepth || (c.counts > 0 && vt.NumField() >= _MAX_FIELDS) { + if c.depth >= c.opts.MaxInlineDepth + 1 || (c.counts > 0 && vt.NumField() >= _MAX_FIELDS) { return &recuriveDecoder{ typ: rt.UnpackType(vt), } diff --git a/dev/decoder/decoder.go b/dev/decoder/decoder.go index 4af460147..1a65e758f 100644 --- a/dev/decoder/decoder.go +++ b/dev/decoder/decoder.go @@ -7,11 +7,9 @@ import ( "encoding/json" "github.com/bytedance/sonic/ast" "github.com/bytedance/sonic/dev/internal/rt" - "github.com/davecgh/go-spew/spew" + "github.com/bytedance/sonic/option" ) -var _ = spew.Dump - // Decoder is the decoder context object type Decoder struct { json string @@ -96,3 +94,56 @@ func Skip(data []byte) (start int, end int) { } return start, pos } + +// Pretouch compiles vt ahead-of-time to avoid JIT compilation on-the-fly, in +// order to reduce the first-hit latency. +// +// Opts are the compile options, for example, "option.WithCompileRecursiveDepth" is +// a compile option to set the depth of recursive compile for the nested struct type. +func Pretouch(vt reflect.Type, opts ...option.CompileOption) error { + cfg := option.DefaultCompileOptions() + for _, opt := range opts { + opt(&cfg) + } + return pretouchRec(map[reflect.Type]bool{vt:true}, cfg) +} + +func pretouchType(_vt reflect.Type, opts option.CompileOptions) (map[reflect.Type]bool, error) { + /* compile function */ + compiler := newCompiler().apply(opts) + decoder := func(vt *rt.GoType, _ ...interface{}) (interface{}, error) { + if f, err := compiler.compileType(_vt); err != nil { + return nil, err + } else { + return f, nil + } + } + + /* find or compile */ + vt := rt.UnpackType(_vt) + if val := programCache.Get(vt); val != nil { + return nil, nil + } else if _, err := programCache.Compute(vt, decoder); err == nil { + return compiler.visited, nil + } else { + return nil, err + } +} + +func pretouchRec(vtm map[reflect.Type]bool, opts option.CompileOptions) error { + if opts.RecursiveDepth < 0 || len(vtm) == 0 { + return nil + } + next := make(map[reflect.Type]bool) + for vt := range(vtm) { + sub, err := pretouchType(vt, opts) + if err != nil { + return err + } + for svt := range(sub) { + next[svt] = true + } + } + opts.RecursiveDepth -= 1 + return pretouchRec(next, opts) +} \ No newline at end of file diff --git a/issue_test/hugestruct_test.go b/issue_test/hugestruct_test.go index 49f310f68..c910f3d3b 100644 --- a/issue_test/hugestruct_test.go +++ b/issue_test/hugestruct_test.go @@ -1,869 +1,869 @@ /* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + Copyright 2021 ByteDance Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. */ package issue_test type HugeStruct0 struct { - Field0 map[string]*int64 `json:"field_0,omitempty"` - Field1 *int64 `json:"field_1,omitempty"` - Field2 []*int64 `json:"field_2,omitempty"` - Field3 map[string]*int64 `json:"field_3,omitempty"` - Field4 []*int64 `json:"field_4,omitempty"` + Field0 map[string]int64 `json:"field_0,omitempty"` + Field1 int64 `json:"field_1,omitempty"` + Field2 []int64 `json:"field_2,omitempty"` + Field3 map[string]int64 `json:"field_3,omitempty"` + Field4 []int64 `json:"field_4,omitempty"` } type HugeStruct1 struct { - Field0 []*int32 `json:"field_0,omitempty"` - Field1 []*string `json:"field_1,omitempty"` - Field2 []*int64 `json:"field_2,omitempty"` - Field3 map[string]*int32 `json:"field_3,omitempty"` - Field4 []*bool `json:"field_4,omitempty"` - Field5 *HugeStruct0 `json:"field_5,omitempty"` - Field6 map[string]*int32 `json:"field_6,omitempty"` - Field7 map[string]*bool `json:"field_7,omitempty"` - Field8 []*bool `json:"field_8,omitempty"` - Field9 map[string]*HugeStruct0 `json:"field_9,omitempty"` - Field10 []*string `json:"field_10,omitempty"` - Field11 []*bool `json:"field_11,omitempty"` - Field12 []*bool `json:"field_12,omitempty"` - Field13 map[string]*int32 `json:"field_13,omitempty"` - Field14 map[string]*int32 `json:"field_14,omitempty"` - Field15 *bool `json:"field_15,omitempty"` - Field16 []*int64 `json:"field_16,omitempty"` - Field17 []*bool `json:"field_17,omitempty"` - Field18 map[string]*int64 `json:"field_18,omitempty"` - Field19 []*int64 `json:"field_19,omitempty"` - Field20 map[string]*string `json:"field_20,omitempty"` - Field21 *bool `json:"field_21,omitempty"` - Field22 *HugeStruct0 `json:"field_22,omitempty"` - Field23 []*string `json:"field_23,omitempty"` - Field24 []*int64 `json:"field_24,omitempty"` - Field25 []*string `json:"field_25,omitempty"` - Field26 []*bool `json:"field_26,omitempty"` - Field27 map[string]*int32 `json:"field_27,omitempty"` - Field28 *HugeStruct0 `json:"field_28,omitempty"` - Field29 map[string]*int32 `json:"field_29,omitempty"` - Field30 map[string]*bool `json:"field_30,omitempty"` - Field31 map[string]*int32 `json:"field_31,omitempty"` - Field32 []*HugeStruct0 `json:"field_32,omitempty"` - Field33 *bool `json:"field_33,omitempty"` - Field34 map[string]*bool `json:"field_34,omitempty"` - Field35 map[string]*HugeStruct0 `json:"field_35,omitempty"` - Field36 *HugeStruct0 `json:"field_36,omitempty"` - Field37 *string `json:"field_37,omitempty"` - Field38 []*HugeStruct0 `json:"field_38,omitempty"` - Field39 []*bool `json:"field_39,omitempty"` - Field40 map[string]*string `json:"field_40,omitempty"` - Field41 map[string]*int64 `json:"field_41,omitempty"` - Field42 map[string]*int32 `json:"field_42,omitempty"` - Field43 *string `json:"field_43,omitempty"` - Field44 map[string]*HugeStruct0 `json:"field_44,omitempty"` - Field45 map[string]*int32 `json:"field_45,omitempty"` - Field46 *HugeStruct0 `json:"field_46,omitempty"` - Field47 *int32 `json:"field_47,omitempty"` - Field48 *HugeStruct0 `json:"field_48,omitempty"` - Field49 *int32 `json:"field_49,omitempty"` - Field50 map[string]*string `json:"field_50,omitempty"` - Field51 map[string]*bool `json:"field_51,omitempty"` - Field52 []*int64 `json:"field_52,omitempty"` - Field53 map[string]*string `json:"field_53,omitempty"` - Field54 []*int32 `json:"field_54,omitempty"` - Field55 map[string]*int64 `json:"field_55,omitempty"` - Field56 map[string]*int32 `json:"field_56,omitempty"` - Field57 map[string]*string `json:"field_57,omitempty"` - Field58 map[string]*HugeStruct0 `json:"field_58,omitempty"` - Field59 []*HugeStruct0 `json:"field_59,omitempty"` - Field60 map[string]*string `json:"field_60,omitempty"` - Field61 map[string]*bool `json:"field_61,omitempty"` - Field62 map[string]*int64 `json:"field_62,omitempty"` - Field63 []*string `json:"field_63,omitempty"` - Field64 []*int64 `json:"field_64,omitempty"` - Field65 map[string]*bool `json:"field_65,omitempty"` - Field66 map[string]*HugeStruct0 `json:"field_66,omitempty"` - Field67 []*int64 `json:"field_67,omitempty"` - Field68 map[string]*string `json:"field_68,omitempty"` - Field69 *HugeStruct0 `json:"field_69,omitempty"` - Field70 []*bool `json:"field_70,omitempty"` - Field71 map[string]*int64 `json:"field_71,omitempty"` - Field72 *int32 `json:"field_72,omitempty"` - Field73 map[string]*int32 `json:"field_73,omitempty"` - Field74 *int32 `json:"field_74,omitempty"` - Field75 map[string]*int32 `json:"field_75,omitempty"` - Field76 map[string]*string `json:"field_76,omitempty"` - Field77 []*string `json:"field_77,omitempty"` - Field78 *string `json:"field_78,omitempty"` - Field79 map[string]*int64 `json:"field_79,omitempty"` - Field80 []*int64 `json:"field_80,omitempty"` - Field81 map[string]*bool `json:"field_81,omitempty"` - Field82 []*string `json:"field_82,omitempty"` - Field83 []*string `json:"field_83,omitempty"` - Field84 *bool `json:"field_84,omitempty"` - Field85 []*bool `json:"field_85,omitempty"` - Field86 []*HugeStruct0 `json:"field_86,omitempty"` - Field87 *HugeStruct0 `json:"field_87,omitempty"` - Field88 map[string]*HugeStruct0 `json:"field_88,omitempty"` - Field89 []*int64 `json:"field_89,omitempty"` - Field90 []*int32 `json:"field_90,omitempty"` - Field91 *HugeStruct0 `json:"field_91,omitempty"` - Field92 []*bool `json:"field_92,omitempty"` - Field93 []*string `json:"field_93,omitempty"` - Field94 map[string]*int32 `json:"field_94,omitempty"` - Field95 *int32 `json:"field_95,omitempty"` - Field96 *int64 `json:"field_96,omitempty"` - Field97 map[string]*bool `json:"field_97,omitempty"` - Field98 map[string]*int32 `json:"field_98,omitempty"` - Field99 []*HugeStruct0 `json:"field_99,omitempty"` - Field100 *int32 `json:"field_100,omitempty"` - Field101 *bool `json:"field_101,omitempty"` - Field102 map[string]*HugeStruct0 `json:"field_102,omitempty"` - Field103 []*string `json:"field_103,omitempty"` - Field104 []*string `json:"field_104,omitempty"` - Field105 map[string]*bool `json:"field_105,omitempty"` - Field106 []*string `json:"field_106,omitempty"` - Field107 []*int64 `json:"field_107,omitempty"` - Field108 *HugeStruct0 `json:"field_108,omitempty"` - Field109 *int32 `json:"field_109,omitempty"` - Field110 map[string]*HugeStruct0 `json:"field_110,omitempty"` - Field111 []*string `json:"field_111,omitempty"` - Field112 map[string]*HugeStruct0 `json:"field_112,omitempty"` - Field113 []*bool `json:"field_113,omitempty"` - Field114 []*bool `json:"field_114,omitempty"` - Field115 map[string]*string `json:"field_115,omitempty"` - Field116 []*int64 `json:"field_116,omitempty"` - Field117 []*string `json:"field_117,omitempty"` - Field118 map[string]*bool `json:"field_118,omitempty"` - Field119 map[string]*string `json:"field_119,omitempty"` - Field120 []*HugeStruct0 `json:"field_120,omitempty"` - Field121 map[string]*HugeStruct0 `json:"field_121,omitempty"` - Field122 []*bool `json:"field_122,omitempty"` - Field123 *string `json:"field_123,omitempty"` - Field124 []*int64 `json:"field_124,omitempty"` - Field125 *string `json:"field_125,omitempty"` - Field126 []*string `json:"field_126,omitempty"` - Field127 []*string `json:"field_127,omitempty"` - Field128 []*int32 `json:"field_128,omitempty"` - Field129 []*bool `json:"field_129,omitempty"` - Field130 *int32 `json:"field_130,omitempty"` - Field131 *int32 `json:"field_131,omitempty"` - Field132 []*int32 `json:"field_132,omitempty"` - Field133 []*int32 `json:"field_133,omitempty"` - Field134 *int32 `json:"field_134,omitempty"` - Field135 []*bool `json:"field_135,omitempty"` - Field136 *bool `json:"field_136,omitempty"` - Field137 []*int32 `json:"field_137,omitempty"` - Field138 map[string]*int64 `json:"field_138,omitempty"` - Field139 map[string]*string `json:"field_139,omitempty"` - Field140 map[string]*int64 `json:"field_140,omitempty"` - Field141 map[string]*int64 `json:"field_141,omitempty"` - Field142 []*int32 `json:"field_142,omitempty"` - Field143 []*HugeStruct0 `json:"field_143,omitempty"` - Field144 map[string]*int64 `json:"field_144,omitempty"` - Field145 []*string `json:"field_145,omitempty"` - Field146 map[string]*int64 `json:"field_146,omitempty"` - Field147 *int32 `json:"field_147,omitempty"` - Field148 map[string]*string `json:"field_148,omitempty"` - Field149 *int64 `json:"field_149,omitempty"` - Field150 map[string]*int64 `json:"field_150,omitempty"` - Field151 map[string]*int64 `json:"field_151,omitempty"` - Field152 map[string]*int32 `json:"field_152,omitempty"` - Field153 []*int32 `json:"field_153,omitempty"` - Field154 map[string]*HugeStruct0 `json:"field_154,omitempty"` - Field155 map[string]*string `json:"field_155,omitempty"` - Field156 map[string]*int64 `json:"field_156,omitempty"` - Field157 []*int32 `json:"field_157,omitempty"` - Field158 []*int32 `json:"field_158,omitempty"` - Field159 *int32 `json:"field_159,omitempty"` - Field160 *HugeStruct0 `json:"field_160,omitempty"` - Field161 []*bool `json:"field_161,omitempty"` - Field162 []*HugeStruct0 `json:"field_162,omitempty"` - Field163 []*int32 `json:"field_163,omitempty"` - Field164 map[string]*string `json:"field_164,omitempty"` - Field165 []*bool `json:"field_165,omitempty"` - Field166 *HugeStruct0 `json:"field_166,omitempty"` - Field167 *int32 `json:"field_167,omitempty"` - Field168 []*bool `json:"field_168,omitempty"` - Field169 map[string]*bool `json:"field_169,omitempty"` - Field170 map[string]*bool `json:"field_170,omitempty"` - Field171 *HugeStruct0 `json:"field_171,omitempty"` - Field172 map[string]*bool `json:"field_172,omitempty"` - Field173 []*bool `json:"field_173,omitempty"` - Field174 map[string]*int64 `json:"field_174,omitempty"` - Field175 []*HugeStruct0 `json:"field_175,omitempty"` - Field176 []*int32 `json:"field_176,omitempty"` - Field177 []*int64 `json:"field_177,omitempty"` - Field178 map[string]*int64 `json:"field_178,omitempty"` - Field179 []*int32 `json:"field_179,omitempty"` - Field180 []*string `json:"field_180,omitempty"` - Field181 []*int32 `json:"field_181,omitempty"` - Field182 map[string]*string `json:"field_182,omitempty"` - Field183 []*int64 `json:"field_183,omitempty"` - Field184 *HugeStruct0 `json:"field_184,omitempty"` - Field185 []*int32 `json:"field_185,omitempty"` - Field186 *int32 `json:"field_186,omitempty"` - Field187 *HugeStruct0 `json:"field_187,omitempty"` - Field188 []*HugeStruct0 `json:"field_188,omitempty"` - Field189 *bool `json:"field_189,omitempty"` - Field190 []*int64 `json:"field_190,omitempty"` - Field191 map[string]*int32 `json:"field_191,omitempty"` - Field192 []*HugeStruct0 `json:"field_192,omitempty"` - Field193 []*HugeStruct0 `json:"field_193,omitempty"` - Field194 *HugeStruct0 `json:"field_194,omitempty"` - Field195 []*bool `json:"field_195,omitempty"` - Field196 map[string]*bool `json:"field_196,omitempty"` - Field197 []*bool `json:"field_197,omitempty"` - Field198 *string `json:"field_198,omitempty"` - Field199 map[string]*int32 `json:"field_199,omitempty"` - Field200 map[string]*int64 `json:"field_200,omitempty"` - Field201 map[string]*string `json:"field_201,omitempty"` - Field202 map[string]*HugeStruct0 `json:"field_202,omitempty"` - Field203 map[string]*int32 `json:"field_203,omitempty"` - Field204 *bool `json:"field_204,omitempty"` - Field205 map[string]*string `json:"field_205,omitempty"` - Field206 []*HugeStruct0 `json:"field_206,omitempty"` - Field207 []*HugeStruct0 `json:"field_207,omitempty"` - Field208 *int64 `json:"field_208,omitempty"` - Field209 *HugeStruct0 `json:"field_209,omitempty"` - Field210 map[string]*string `json:"field_210,omitempty"` - Field211 map[string]*bool `json:"field_211,omitempty"` - Field212 *HugeStruct0 `json:"field_212,omitempty"` - Field213 *bool `json:"field_213,omitempty"` - Field214 map[string]*bool `json:"field_214,omitempty"` - Field215 map[string]*HugeStruct0 `json:"field_215,omitempty"` - Field216 []*HugeStruct0 `json:"field_216,omitempty"` - Field217 map[string]*string `json:"field_217,omitempty"` - Field218 map[string]*HugeStruct0 `json:"field_218,omitempty"` - Field219 map[string]*int64 `json:"field_219,omitempty"` - Field220 *int64 `json:"field_220,omitempty"` - Field221 *string `json:"field_221,omitempty"` - Field222 *HugeStruct0 `json:"field_222,omitempty"` - Field223 []*int64 `json:"field_223,omitempty"` - Field224 []*bool `json:"field_224,omitempty"` - Field225 []*bool `json:"field_225,omitempty"` - Field226 map[string]*int64 `json:"field_226,omitempty"` - Field227 map[string]*HugeStruct0 `json:"field_227,omitempty"` - Field228 []*int64 `json:"field_228,omitempty"` - Field229 map[string]*bool `json:"field_229,omitempty"` - Field230 map[string]*HugeStruct0 `json:"field_230,omitempty"` - Field231 *int32 `json:"field_231,omitempty"` - Field232 *int32 `json:"field_232,omitempty"` - Field233 []*string `json:"field_233,omitempty"` - Field234 []*HugeStruct0 `json:"field_234,omitempty"` - Field235 []*string `json:"field_235,omitempty"` - Field236 *int32 `json:"field_236,omitempty"` - Field237 *string `json:"field_237,omitempty"` - Field238 *HugeStruct0 `json:"field_238,omitempty"` - Field239 map[string]*HugeStruct0 `json:"field_239,omitempty"` - Field240 []*HugeStruct0 `json:"field_240,omitempty"` - Field241 *bool `json:"field_241,omitempty"` - Field242 *int32 `json:"field_242,omitempty"` - Field243 map[string]*HugeStruct0 `json:"field_243,omitempty"` - Field244 map[string]*bool `json:"field_244,omitempty"` - Field245 map[string]*HugeStruct0 `json:"field_245,omitempty"` - Field246 []*int32 `json:"field_246,omitempty"` - Field247 []*bool `json:"field_247,omitempty"` - Field248 []*string `json:"field_248,omitempty"` - Field249 *int64 `json:"field_249,omitempty"` - Field250 []*int32 `json:"field_250,omitempty"` - Field251 *HugeStruct0 `json:"field_251,omitempty"` - Field252 *bool `json:"field_252,omitempty"` - Field253 map[string]*string `json:"field_253,omitempty"` - Field254 map[string]*string `json:"field_254,omitempty"` - Field255 []*int32 `json:"field_255,omitempty"` - Field256 *int32 `json:"field_256,omitempty"` - Field257 *string `json:"field_257,omitempty"` - Field258 map[string]*string `json:"field_258,omitempty"` - Field259 map[string]*int32 `json:"field_259,omitempty"` - Field260 []*int64 `json:"field_260,omitempty"` - Field261 []*int32 `json:"field_261,omitempty"` - Field262 *HugeStruct0 `json:"field_262,omitempty"` - Field263 *bool `json:"field_263,omitempty"` - Field264 *int32 `json:"field_264,omitempty"` - Field265 map[string]*bool `json:"field_265,omitempty"` - Field266 *string `json:"field_266,omitempty"` - Field267 []*int64 `json:"field_267,omitempty"` - Field268 *string `json:"field_268,omitempty"` - Field269 *int64 `json:"field_269,omitempty"` - Field270 map[string]*int64 `json:"field_270,omitempty"` - Field271 map[string]*int64 `json:"field_271,omitempty"` - Field272 *HugeStruct0 `json:"field_272,omitempty"` - Field273 []*string `json:"field_273,omitempty"` - Field274 *int32 `json:"field_274,omitempty"` - Field275 *HugeStruct0 `json:"field_275,omitempty"` - Field276 map[string]*bool `json:"field_276,omitempty"` - Field277 *HugeStruct0 `json:"field_277,omitempty"` - Field278 *int64 `json:"field_278,omitempty"` - Field279 map[string]*string `json:"field_279,omitempty"` - Field280 *string `json:"field_280,omitempty"` - Field281 *int64 `json:"field_281,omitempty"` - Field282 *int32 `json:"field_282,omitempty"` - Field283 *bool `json:"field_283,omitempty"` - Field284 *HugeStruct0 `json:"field_284,omitempty"` - Field285 map[string]*int64 `json:"field_285,omitempty"` - Field286 map[string]*bool `json:"field_286,omitempty"` - Field287 map[string]*string `json:"field_287,omitempty"` - Field288 *bool `json:"field_288,omitempty"` - Field289 *bool `json:"field_289,omitempty"` - Field290 *int64 `json:"field_290,omitempty"` - Field291 []*int64 `json:"field_291,omitempty"` - Field292 map[string]*string `json:"field_292,omitempty"` - Field293 *int32 `json:"field_293,omitempty"` - Field294 []*string `json:"field_294,omitempty"` - Field295 *bool `json:"field_295,omitempty"` - Field296 []*HugeStruct0 `json:"field_296,omitempty"` - Field297 *bool `json:"field_297,omitempty"` - Field298 map[string]*int64 `json:"field_298,omitempty"` - Field299 map[string]*bool `json:"field_299,omitempty"` - Field300 *HugeStruct0 `json:"field_300,omitempty"` - Field301 *bool `json:"field_301,omitempty"` - Field302 []*string `json:"field_302,omitempty"` - Field303 []*string `json:"field_303,omitempty"` - Field304 map[string]*string `json:"field_304,omitempty"` - Field305 *int32 `json:"field_305,omitempty"` - Field306 *int32 `json:"field_306,omitempty"` - Field307 []*HugeStruct0 `json:"field_307,omitempty"` - Field308 map[string]*HugeStruct0 `json:"field_308,omitempty"` - Field309 map[string]*int32 `json:"field_309,omitempty"` - Field310 []*HugeStruct0 `json:"field_310,omitempty"` - Field311 *bool `json:"field_311,omitempty"` - Field312 []*bool `json:"field_312,omitempty"` - Field313 *bool `json:"field_313,omitempty"` - Field314 []*HugeStruct0 `json:"field_314,omitempty"` - Field315 *HugeStruct0 `json:"field_315,omitempty"` - Field316 *bool `json:"field_316,omitempty"` - Field317 *string `json:"field_317,omitempty"` - Field318 *bool `json:"field_318,omitempty"` - Field319 []*int32 `json:"field_319,omitempty"` - Field320 *int64 `json:"field_320,omitempty"` - Field321 []*HugeStruct0 `json:"field_321,omitempty"` - Field322 *bool `json:"field_322,omitempty"` - Field323 *int64 `json:"field_323,omitempty"` - Field324 []*HugeStruct0 `json:"field_324,omitempty"` - Field325 *bool `json:"field_325,omitempty"` - Field326 []*int64 `json:"field_326,omitempty"` - Field327 *bool `json:"field_327,omitempty"` - Field328 *HugeStruct0 `json:"field_328,omitempty"` - Field329 *HugeStruct0 `json:"field_329,omitempty"` - Field330 []*HugeStruct0 `json:"field_330,omitempty"` - Field331 *HugeStruct0 `json:"field_331,omitempty"` - Field332 []*string `json:"field_332,omitempty"` - Field333 *int64 `json:"field_333,omitempty"` - Field334 []*HugeStruct0 `json:"field_334,omitempty"` - Field335 map[string]*HugeStruct0 `json:"field_335,omitempty"` - Field336 map[string]*bool `json:"field_336,omitempty"` - Field337 []*int64 `json:"field_337,omitempty"` - Field338 map[string]*bool `json:"field_338,omitempty"` - Field339 *HugeStruct0 `json:"field_339,omitempty"` - Field340 map[string]*HugeStruct0 `json:"field_340,omitempty"` - Field341 []*bool `json:"field_341,omitempty"` - Field342 []*int64 `json:"field_342,omitempty"` - Field343 []*int32 `json:"field_343,omitempty"` - Field344 map[string]*bool `json:"field_344,omitempty"` - Field345 map[string]*int64 `json:"field_345,omitempty"` - Field346 *int64 `json:"field_346,omitempty"` - Field347 map[string]*bool `json:"field_347,omitempty"` - Field348 map[string]*int32 `json:"field_348,omitempty"` - Field349 []*string `json:"field_349,omitempty"` - Field350 map[string]*int32 `json:"field_350,omitempty"` - Field351 *bool `json:"field_351,omitempty"` - Field352 []*int64 `json:"field_352,omitempty"` - Field353 []*int64 `json:"field_353,omitempty"` - Field354 *string `json:"field_354,omitempty"` - Field355 map[string]*int32 `json:"field_355,omitempty"` - Field356 map[string]*bool `json:"field_356,omitempty"` - Field357 []*int32 `json:"field_357,omitempty"` - Field358 *int64 `json:"field_358,omitempty"` - Field359 map[string]*int64 `json:"field_359,omitempty"` - Field360 *int64 `json:"field_360,omitempty"` - Field361 map[string]*int64 `json:"field_361,omitempty"` - Field362 map[string]*int32 `json:"field_362,omitempty"` - Field363 []*int64 `json:"field_363,omitempty"` - Field364 []*bool `json:"field_364,omitempty"` - Field365 *int32 `json:"field_365,omitempty"` - Field366 map[string]*string `json:"field_366,omitempty"` - Field367 map[string]*bool `json:"field_367,omitempty"` - Field368 *int32 `json:"field_368,omitempty"` - Field369 *string `json:"field_369,omitempty"` - Field370 *HugeStruct0 `json:"field_370,omitempty"` - Field371 *HugeStruct0 `json:"field_371,omitempty"` - Field372 map[string]*HugeStruct0 `json:"field_372,omitempty"` - Field373 map[string]*bool `json:"field_373,omitempty"` + Field0 []int32 `json:"field_0,omitempty"` + Field1 []string `json:"field_1,omitempty"` + Field2 []int64 `json:"field_2,omitempty"` + Field3 map[string]int32 `json:"field_3,omitempty"` + Field4 []bool `json:"field_4,omitempty"` + Field5 HugeStruct0 `json:"field_5,omitempty"` + Field6 map[string]int32 `json:"field_6,omitempty"` + Field7 map[string]bool `json:"field_7,omitempty"` + Field8 []bool `json:"field_8,omitempty"` + Field9 map[string]HugeStruct0 `json:"field_9,omitempty"` + Field10 []string `json:"field_10,omitempty"` + Field11 []bool `json:"field_11,omitempty"` + Field12 []bool `json:"field_12,omitempty"` + Field13 map[string]int32 `json:"field_13,omitempty"` + Field14 map[string]int32 `json:"field_14,omitempty"` + Field15 bool `json:"field_15,omitempty"` + Field16 []int64 `json:"field_16,omitempty"` + Field17 []bool `json:"field_17,omitempty"` + Field18 map[string]int64 `json:"field_18,omitempty"` + Field19 []int64 `json:"field_19,omitempty"` + Field20 map[string]string `json:"field_20,omitempty"` + Field21 bool `json:"field_21,omitempty"` + Field22 HugeStruct0 `json:"field_22,omitempty"` + Field23 []string `json:"field_23,omitempty"` + Field24 []int64 `json:"field_24,omitempty"` + Field25 []string `json:"field_25,omitempty"` + Field26 []bool `json:"field_26,omitempty"` + Field27 map[string]int32 `json:"field_27,omitempty"` + Field28 HugeStruct0 `json:"field_28,omitempty"` + Field29 map[string]int32 `json:"field_29,omitempty"` + Field30 map[string]bool `json:"field_30,omitempty"` + Field31 map[string]int32 `json:"field_31,omitempty"` + Field32 []HugeStruct0 `json:"field_32,omitempty"` + Field33 bool `json:"field_33,omitempty"` + Field34 map[string]bool `json:"field_34,omitempty"` + Field35 map[string]HugeStruct0 `json:"field_35,omitempty"` + Field36 HugeStruct0 `json:"field_36,omitempty"` + Field37 string `json:"field_37,omitempty"` + Field38 []HugeStruct0 `json:"field_38,omitempty"` + Field39 []bool `json:"field_39,omitempty"` + Field40 map[string]string `json:"field_40,omitempty"` + Field41 map[string]int64 `json:"field_41,omitempty"` + Field42 map[string]int32 `json:"field_42,omitempty"` + Field43 string `json:"field_43,omitempty"` + Field44 map[string]HugeStruct0 `json:"field_44,omitempty"` + Field45 map[string]int32 `json:"field_45,omitempty"` + Field46 HugeStruct0 `json:"field_46,omitempty"` + Field47 int32 `json:"field_47,omitempty"` + Field48 HugeStruct0 `json:"field_48,omitempty"` + Field49 int32 `json:"field_49,omitempty"` + Field50 map[string]string `json:"field_50,omitempty"` + Field51 map[string]bool `json:"field_51,omitempty"` + Field52 []int64 `json:"field_52,omitempty"` + Field53 map[string]string `json:"field_53,omitempty"` + Field54 []int32 `json:"field_54,omitempty"` + Field55 map[string]int64 `json:"field_55,omitempty"` + Field56 map[string]int32 `json:"field_56,omitempty"` + Field57 map[string]string `json:"field_57,omitempty"` + Field58 map[string]HugeStruct0 `json:"field_58,omitempty"` + Field59 []HugeStruct0 `json:"field_59,omitempty"` + Field60 map[string]string `json:"field_60,omitempty"` + Field61 map[string]bool `json:"field_61,omitempty"` + Field62 map[string]int64 `json:"field_62,omitempty"` + Field63 []string `json:"field_63,omitempty"` + Field64 []int64 `json:"field_64,omitempty"` + Field65 map[string]bool `json:"field_65,omitempty"` + Field66 map[string]HugeStruct0 `json:"field_66,omitempty"` + Field67 []int64 `json:"field_67,omitempty"` + Field68 map[string]string `json:"field_68,omitempty"` + Field69 HugeStruct0 `json:"field_69,omitempty"` + Field70 []bool `json:"field_70,omitempty"` + Field71 map[string]int64 `json:"field_71,omitempty"` + Field72 int32 `json:"field_72,omitempty"` + Field73 map[string]int32 `json:"field_73,omitempty"` + Field74 int32 `json:"field_74,omitempty"` + Field75 map[string]int32 `json:"field_75,omitempty"` + Field76 map[string]string `json:"field_76,omitempty"` + Field77 []string `json:"field_77,omitempty"` + Field78 string `json:"field_78,omitempty"` + Field79 map[string]int64 `json:"field_79,omitempty"` + Field80 []int64 `json:"field_80,omitempty"` + Field81 map[string]bool `json:"field_81,omitempty"` + Field82 []string `json:"field_82,omitempty"` + Field83 []string `json:"field_83,omitempty"` + Field84 bool `json:"field_84,omitempty"` + Field85 []bool `json:"field_85,omitempty"` + Field86 []HugeStruct0 `json:"field_86,omitempty"` + Field87 HugeStruct0 `json:"field_87,omitempty"` + Field88 map[string]HugeStruct0 `json:"field_88,omitempty"` + Field89 []int64 `json:"field_89,omitempty"` + Field90 []int32 `json:"field_90,omitempty"` + Field91 HugeStruct0 `json:"field_91,omitempty"` + Field92 []bool `json:"field_92,omitempty"` + Field93 []string `json:"field_93,omitempty"` + Field94 map[string]int32 `json:"field_94,omitempty"` + Field95 int32 `json:"field_95,omitempty"` + Field96 int64 `json:"field_96,omitempty"` + Field97 map[string]bool `json:"field_97,omitempty"` + Field98 map[string]int32 `json:"field_98,omitempty"` + Field99 []HugeStruct0 `json:"field_99,omitempty"` + Field100 int32 `json:"field_100,omitempty"` + Field101 bool `json:"field_101,omitempty"` + Field102 map[string]HugeStruct0 `json:"field_102,omitempty"` + Field103 []string `json:"field_103,omitempty"` + Field104 []string `json:"field_104,omitempty"` + Field105 map[string]bool `json:"field_105,omitempty"` + Field106 []string `json:"field_106,omitempty"` + Field107 []int64 `json:"field_107,omitempty"` + Field108 HugeStruct0 `json:"field_108,omitempty"` + Field109 int32 `json:"field_109,omitempty"` + Field110 map[string]HugeStruct0 `json:"field_110,omitempty"` + Field111 []string `json:"field_111,omitempty"` + Field112 map[string]HugeStruct0 `json:"field_112,omitempty"` + Field113 []bool `json:"field_113,omitempty"` + Field114 []bool `json:"field_114,omitempty"` + Field115 map[string]string `json:"field_115,omitempty"` + Field116 []int64 `json:"field_116,omitempty"` + Field117 []string `json:"field_117,omitempty"` + Field118 map[string]bool `json:"field_118,omitempty"` + Field119 map[string]string `json:"field_119,omitempty"` + Field120 []HugeStruct0 `json:"field_120,omitempty"` + Field121 map[string]HugeStruct0 `json:"field_121,omitempty"` + Field122 []bool `json:"field_122,omitempty"` + Field123 string `json:"field_123,omitempty"` + Field124 []int64 `json:"field_124,omitempty"` + Field125 string `json:"field_125,omitempty"` + Field126 []string `json:"field_126,omitempty"` + Field127 []string `json:"field_127,omitempty"` + Field128 []int32 `json:"field_128,omitempty"` + Field129 []bool `json:"field_129,omitempty"` + Field130 int32 `json:"field_130,omitempty"` + Field131 int32 `json:"field_131,omitempty"` + Field132 []int32 `json:"field_132,omitempty"` + Field133 []int32 `json:"field_133,omitempty"` + Field134 int32 `json:"field_134,omitempty"` + Field135 []bool `json:"field_135,omitempty"` + Field136 bool `json:"field_136,omitempty"` + Field137 []int32 `json:"field_137,omitempty"` + Field138 map[string]int64 `json:"field_138,omitempty"` + Field139 map[string]string `json:"field_139,omitempty"` + Field140 map[string]int64 `json:"field_140,omitempty"` + Field141 map[string]int64 `json:"field_141,omitempty"` + Field142 []int32 `json:"field_142,omitempty"` + Field143 []HugeStruct0 `json:"field_143,omitempty"` + Field144 map[string]int64 `json:"field_144,omitempty"` + Field145 []string `json:"field_145,omitempty"` + Field146 map[string]int64 `json:"field_146,omitempty"` + Field147 int32 `json:"field_147,omitempty"` + Field148 map[string]string `json:"field_148,omitempty"` + Field149 int64 `json:"field_149,omitempty"` + Field150 map[string]int64 `json:"field_150,omitempty"` + Field151 map[string]int64 `json:"field_151,omitempty"` + Field152 map[string]int32 `json:"field_152,omitempty"` + Field153 []int32 `json:"field_153,omitempty"` + Field154 map[string]HugeStruct0 `json:"field_154,omitempty"` + Field155 map[string]string `json:"field_155,omitempty"` + Field156 map[string]int64 `json:"field_156,omitempty"` + Field157 []int32 `json:"field_157,omitempty"` + Field158 []int32 `json:"field_158,omitempty"` + Field159 int32 `json:"field_159,omitempty"` + Field160 HugeStruct0 `json:"field_160,omitempty"` + Field161 []bool `json:"field_161,omitempty"` + Field162 []HugeStruct0 `json:"field_162,omitempty"` + Field163 []int32 `json:"field_163,omitempty"` + Field164 map[string]string `json:"field_164,omitempty"` + Field165 []bool `json:"field_165,omitempty"` + Field166 HugeStruct0 `json:"field_166,omitempty"` + Field167 int32 `json:"field_167,omitempty"` + Field168 []bool `json:"field_168,omitempty"` + Field169 map[string]bool `json:"field_169,omitempty"` + Field170 map[string]bool `json:"field_170,omitempty"` + Field171 HugeStruct0 `json:"field_171,omitempty"` + Field172 map[string]bool `json:"field_172,omitempty"` + Field173 []bool `json:"field_173,omitempty"` + Field174 map[string]int64 `json:"field_174,omitempty"` + Field175 []HugeStruct0 `json:"field_175,omitempty"` + Field176 []int32 `json:"field_176,omitempty"` + Field177 []int64 `json:"field_177,omitempty"` + Field178 map[string]int64 `json:"field_178,omitempty"` + Field179 []int32 `json:"field_179,omitempty"` + Field180 []string `json:"field_180,omitempty"` + Field181 []int32 `json:"field_181,omitempty"` + Field182 map[string]string `json:"field_182,omitempty"` + Field183 []int64 `json:"field_183,omitempty"` + Field184 HugeStruct0 `json:"field_184,omitempty"` + Field185 []int32 `json:"field_185,omitempty"` + Field186 int32 `json:"field_186,omitempty"` + Field187 HugeStruct0 `json:"field_187,omitempty"` + Field188 []HugeStruct0 `json:"field_188,omitempty"` + Field189 bool `json:"field_189,omitempty"` + Field190 []int64 `json:"field_190,omitempty"` + Field191 map[string]int32 `json:"field_191,omitempty"` + Field192 []HugeStruct0 `json:"field_192,omitempty"` + Field193 []HugeStruct0 `json:"field_193,omitempty"` + Field194 HugeStruct0 `json:"field_194,omitempty"` + Field195 []bool `json:"field_195,omitempty"` + Field196 map[string]bool `json:"field_196,omitempty"` + Field197 []bool `json:"field_197,omitempty"` + Field198 string `json:"field_198,omitempty"` + Field199 map[string]int32 `json:"field_199,omitempty"` + Field200 map[string]int64 `json:"field_200,omitempty"` + Field201 map[string]string `json:"field_201,omitempty"` + Field202 map[string]HugeStruct0 `json:"field_202,omitempty"` + Field203 map[string]int32 `json:"field_203,omitempty"` + Field204 bool `json:"field_204,omitempty"` + Field205 map[string]string `json:"field_205,omitempty"` + Field206 []HugeStruct0 `json:"field_206,omitempty"` + Field207 []HugeStruct0 `json:"field_207,omitempty"` + Field208 int64 `json:"field_208,omitempty"` + Field209 HugeStruct0 `json:"field_209,omitempty"` + Field210 map[string]string `json:"field_210,omitempty"` + Field211 map[string]bool `json:"field_211,omitempty"` + Field212 HugeStruct0 `json:"field_212,omitempty"` + Field213 bool `json:"field_213,omitempty"` + Field214 map[string]bool `json:"field_214,omitempty"` + Field215 map[string]HugeStruct0 `json:"field_215,omitempty"` + Field216 []HugeStruct0 `json:"field_216,omitempty"` + Field217 map[string]string `json:"field_217,omitempty"` + Field218 map[string]HugeStruct0 `json:"field_218,omitempty"` + Field219 map[string]int64 `json:"field_219,omitempty"` + Field220 int64 `json:"field_220,omitempty"` + Field221 string `json:"field_221,omitempty"` + Field222 HugeStruct0 `json:"field_222,omitempty"` + Field223 []int64 `json:"field_223,omitempty"` + Field224 []bool `json:"field_224,omitempty"` + Field225 []bool `json:"field_225,omitempty"` + Field226 map[string]int64 `json:"field_226,omitempty"` + Field227 map[string]HugeStruct0 `json:"field_227,omitempty"` + Field228 []int64 `json:"field_228,omitempty"` + Field229 map[string]bool `json:"field_229,omitempty"` + Field230 map[string]HugeStruct0 `json:"field_230,omitempty"` + Field231 int32 `json:"field_231,omitempty"` + Field232 int32 `json:"field_232,omitempty"` + Field233 []string `json:"field_233,omitempty"` + Field234 []HugeStruct0 `json:"field_234,omitempty"` + Field235 []string `json:"field_235,omitempty"` + Field236 int32 `json:"field_236,omitempty"` + Field237 string `json:"field_237,omitempty"` + Field238 HugeStruct0 `json:"field_238,omitempty"` + Field239 map[string]HugeStruct0 `json:"field_239,omitempty"` + Field240 []HugeStruct0 `json:"field_240,omitempty"` + Field241 bool `json:"field_241,omitempty"` + Field242 int32 `json:"field_242,omitempty"` + Field243 map[string]HugeStruct0 `json:"field_243,omitempty"` + Field244 map[string]bool `json:"field_244,omitempty"` + Field245 map[string]HugeStruct0 `json:"field_245,omitempty"` + Field246 []int32 `json:"field_246,omitempty"` + Field247 []bool `json:"field_247,omitempty"` + Field248 []string `json:"field_248,omitempty"` + Field249 int64 `json:"field_249,omitempty"` + Field250 []int32 `json:"field_250,omitempty"` + Field251 HugeStruct0 `json:"field_251,omitempty"` + Field252 bool `json:"field_252,omitempty"` + Field253 map[string]string `json:"field_253,omitempty"` + Field254 map[string]string `json:"field_254,omitempty"` + Field255 []int32 `json:"field_255,omitempty"` + Field256 int32 `json:"field_256,omitempty"` + Field257 string `json:"field_257,omitempty"` + Field258 map[string]string `json:"field_258,omitempty"` + Field259 map[string]int32 `json:"field_259,omitempty"` + Field260 []int64 `json:"field_260,omitempty"` + Field261 []int32 `json:"field_261,omitempty"` + Field262 HugeStruct0 `json:"field_262,omitempty"` + Field263 bool `json:"field_263,omitempty"` + Field264 int32 `json:"field_264,omitempty"` + Field265 map[string]bool `json:"field_265,omitempty"` + Field266 string `json:"field_266,omitempty"` + Field267 []int64 `json:"field_267,omitempty"` + Field268 string `json:"field_268,omitempty"` + Field269 int64 `json:"field_269,omitempty"` + Field270 map[string]int64 `json:"field_270,omitempty"` + Field271 map[string]int64 `json:"field_271,omitempty"` + Field272 HugeStruct0 `json:"field_272,omitempty"` + Field273 []string `json:"field_273,omitempty"` + Field274 int32 `json:"field_274,omitempty"` + Field275 HugeStruct0 `json:"field_275,omitempty"` + Field276 map[string]bool `json:"field_276,omitempty"` + Field277 HugeStruct0 `json:"field_277,omitempty"` + Field278 int64 `json:"field_278,omitempty"` + Field279 map[string]string `json:"field_279,omitempty"` + Field280 string `json:"field_280,omitempty"` + Field281 int64 `json:"field_281,omitempty"` + Field282 int32 `json:"field_282,omitempty"` + Field283 bool `json:"field_283,omitempty"` + Field284 HugeStruct0 `json:"field_284,omitempty"` + Field285 map[string]int64 `json:"field_285,omitempty"` + Field286 map[string]bool `json:"field_286,omitempty"` + Field287 map[string]string `json:"field_287,omitempty"` + Field288 bool `json:"field_288,omitempty"` + Field289 bool `json:"field_289,omitempty"` + Field290 int64 `json:"field_290,omitempty"` + Field291 []int64 `json:"field_291,omitempty"` + Field292 map[string]string `json:"field_292,omitempty"` + Field293 int32 `json:"field_293,omitempty"` + Field294 []string `json:"field_294,omitempty"` + Field295 bool `json:"field_295,omitempty"` + Field296 []HugeStruct0 `json:"field_296,omitempty"` + Field297 bool `json:"field_297,omitempty"` + Field298 map[string]int64 `json:"field_298,omitempty"` + Field299 map[string]bool `json:"field_299,omitempty"` + Field300 HugeStruct0 `json:"field_300,omitempty"` + Field301 bool `json:"field_301,omitempty"` + Field302 []string `json:"field_302,omitempty"` + Field303 []string `json:"field_303,omitempty"` + Field304 map[string]string `json:"field_304,omitempty"` + Field305 int32 `json:"field_305,omitempty"` + Field306 int32 `json:"field_306,omitempty"` + Field307 []HugeStruct0 `json:"field_307,omitempty"` + Field308 map[string]HugeStruct0 `json:"field_308,omitempty"` + Field309 map[string]int32 `json:"field_309,omitempty"` + Field310 []HugeStruct0 `json:"field_310,omitempty"` + Field311 bool `json:"field_311,omitempty"` + Field312 []bool `json:"field_312,omitempty"` + Field313 bool `json:"field_313,omitempty"` + Field314 []HugeStruct0 `json:"field_314,omitempty"` + Field315 HugeStruct0 `json:"field_315,omitempty"` + Field316 bool `json:"field_316,omitempty"` + Field317 string `json:"field_317,omitempty"` + Field318 bool `json:"field_318,omitempty"` + Field319 []int32 `json:"field_319,omitempty"` + Field320 int64 `json:"field_320,omitempty"` + Field321 []HugeStruct0 `json:"field_321,omitempty"` + Field322 bool `json:"field_322,omitempty"` + Field323 int64 `json:"field_323,omitempty"` + Field324 []HugeStruct0 `json:"field_324,omitempty"` + Field325 bool `json:"field_325,omitempty"` + Field326 []int64 `json:"field_326,omitempty"` + Field327 bool `json:"field_327,omitempty"` + Field328 HugeStruct0 `json:"field_328,omitempty"` + Field329 HugeStruct0 `json:"field_329,omitempty"` + Field330 []HugeStruct0 `json:"field_330,omitempty"` + Field331 HugeStruct0 `json:"field_331,omitempty"` + Field332 []string `json:"field_332,omitempty"` + Field333 int64 `json:"field_333,omitempty"` + Field334 []HugeStruct0 `json:"field_334,omitempty"` + Field335 map[string]HugeStruct0 `json:"field_335,omitempty"` + Field336 map[string]bool `json:"field_336,omitempty"` + Field337 []int64 `json:"field_337,omitempty"` + Field338 map[string]bool `json:"field_338,omitempty"` + Field339 HugeStruct0 `json:"field_339,omitempty"` + Field340 map[string]HugeStruct0 `json:"field_340,omitempty"` + Field341 []bool `json:"field_341,omitempty"` + Field342 []int64 `json:"field_342,omitempty"` + Field343 []int32 `json:"field_343,omitempty"` + Field344 map[string]bool `json:"field_344,omitempty"` + Field345 map[string]int64 `json:"field_345,omitempty"` + Field346 int64 `json:"field_346,omitempty"` + Field347 map[string]bool `json:"field_347,omitempty"` + Field348 map[string]int32 `json:"field_348,omitempty"` + Field349 []string `json:"field_349,omitempty"` + Field350 map[string]int32 `json:"field_350,omitempty"` + Field351 bool `json:"field_351,omitempty"` + Field352 []int64 `json:"field_352,omitempty"` + Field353 []int64 `json:"field_353,omitempty"` + Field354 string `json:"field_354,omitempty"` + Field355 map[string]int32 `json:"field_355,omitempty"` + Field356 map[string]bool `json:"field_356,omitempty"` + Field357 []int32 `json:"field_357,omitempty"` + Field358 int64 `json:"field_358,omitempty"` + Field359 map[string]int64 `json:"field_359,omitempty"` + Field360 int64 `json:"field_360,omitempty"` + Field361 map[string]int64 `json:"field_361,omitempty"` + Field362 map[string]int32 `json:"field_362,omitempty"` + Field363 []int64 `json:"field_363,omitempty"` + Field364 []bool `json:"field_364,omitempty"` + Field365 int32 `json:"field_365,omitempty"` + Field366 map[string]string `json:"field_366,omitempty"` + Field367 map[string]bool `json:"field_367,omitempty"` + Field368 int32 `json:"field_368,omitempty"` + Field369 string `json:"field_369,omitempty"` + Field370 HugeStruct0 `json:"field_370,omitempty"` + Field371 HugeStruct0 `json:"field_371,omitempty"` + Field372 map[string]HugeStruct0 `json:"field_372,omitempty"` + Field373 map[string]bool `json:"field_373,omitempty"` } type HugeStruct2 struct { - Field0 *bool `json:"field_0,omitempty"` - Field1 map[string]*int64 `json:"field_1,omitempty"` - Field2 *int32 `json:"field_2,omitempty"` - Field3 []*int64 `json:"field_3,omitempty"` - Field4 map[string]*int32 `json:"field_4,omitempty"` - Field5 map[string]*int32 `json:"field_5,omitempty"` - Field6 *bool `json:"field_6,omitempty"` - Field7 map[string]*int32 `json:"field_7,omitempty"` - Field8 *int64 `json:"field_8,omitempty"` - Field9 []*HugeStruct1 `json:"field_9,omitempty"` - Field10 *int64 `json:"field_10,omitempty"` - Field11 map[string]*int64 `json:"field_11,omitempty"` - Field12 *string `json:"field_12,omitempty"` - Field13 *int64 `json:"field_13,omitempty"` - Field14 map[string]*HugeStruct1 `json:"field_14,omitempty"` - Field15 map[string]*int64 `json:"field_15,omitempty"` - Field16 map[string]*int32 `json:"field_16,omitempty"` - Field17 map[string]*int32 `json:"field_17,omitempty"` - Field18 []*int32 `json:"field_18,omitempty"` - Field19 *HugeStruct0 `json:"field_19,omitempty"` - Field20 map[string]*int64 `json:"field_20,omitempty"` - Field21 *HugeStruct1 `json:"field_21,omitempty"` - Field22 []*int32 `json:"field_22,omitempty"` - Field23 map[string]*int64 `json:"field_23,omitempty"` - Field24 map[string]*int64 `json:"field_24,omitempty"` - Field25 *int32 `json:"field_25,omitempty"` - Field26 map[string]*string `json:"field_26,omitempty"` - Field27 []*bool `json:"field_27,omitempty"` - Field28 *int32 `json:"field_28,omitempty"` - Field29 []*string `json:"field_29,omitempty"` - Field30 []*HugeStruct0 `json:"field_30,omitempty"` - Field31 []*int64 `json:"field_31,omitempty"` - Field32 *int64 `json:"field_32,omitempty"` - Field33 map[string]*string `json:"field_33,omitempty"` - Field34 []*HugeStruct0 `json:"field_34,omitempty"` - Field35 *bool `json:"field_35,omitempty"` - Field36 *HugeStruct0 `json:"field_36,omitempty"` - Field37 *string `json:"field_37,omitempty"` - Field38 []*HugeStruct1 `json:"field_38,omitempty"` - Field39 *int64 `json:"field_39,omitempty"` - Field40 map[string]*string `json:"field_40,omitempty"` - Field41 *string `json:"field_41,omitempty"` - Field42 *int64 `json:"field_42,omitempty"` - Field43 map[string]*int64 `json:"field_43,omitempty"` - Field44 map[string]*string `json:"field_44,omitempty"` - Field45 map[string]*int32 `json:"field_45,omitempty"` - Field46 *int64 `json:"field_46,omitempty"` - Field47 map[string]*int64 `json:"field_47,omitempty"` - Field48 *int32 `json:"field_48,omitempty"` - Field49 []*HugeStruct1 `json:"field_49,omitempty"` - Field50 *int64 `json:"field_50,omitempty"` - Field51 []*int64 `json:"field_51,omitempty"` - Field52 map[string]*int64 `json:"field_52,omitempty"` - Field53 *int32 `json:"field_53,omitempty"` - Field54 map[string]*bool `json:"field_54,omitempty"` - Field55 map[string]*HugeStruct0 `json:"field_55,omitempty"` - Field56 map[string]*int32 `json:"field_56,omitempty"` - Field57 map[string]*string `json:"field_57,omitempty"` - Field58 []*int64 `json:"field_58,omitempty"` - Field59 *HugeStruct0 `json:"field_59,omitempty"` - Field60 []*int64 `json:"field_60,omitempty"` - Field61 map[string]*int64 `json:"field_61,omitempty"` - Field62 map[string]*HugeStruct1 `json:"field_62,omitempty"` - Field63 *HugeStruct0 `json:"field_63,omitempty"` - Field64 []*int32 `json:"field_64,omitempty"` - Field65 []*HugeStruct0 `json:"field_65,omitempty"` - Field66 *int32 `json:"field_66,omitempty"` - Field67 []*int64 `json:"field_67,omitempty"` - Field68 []*bool `json:"field_68,omitempty"` - Field69 *int64 `json:"field_69,omitempty"` - Field70 *int64 `json:"field_70,omitempty"` - Field71 *int64 `json:"field_71,omitempty"` - Field72 map[string]*int32 `json:"field_72,omitempty"` - Field73 map[string]*int32 `json:"field_73,omitempty"` - Field74 map[string]*int32 `json:"field_74,omitempty"` - Field75 map[string]*bool `json:"field_75,omitempty"` - Field76 *string `json:"field_76,omitempty"` - Field77 []*int32 `json:"field_77,omitempty"` - Field78 *int64 `json:"field_78,omitempty"` - Field79 *int64 `json:"field_79,omitempty"` - Field80 *int64 `json:"field_80,omitempty"` - Field81 []*bool `json:"field_81,omitempty"` - Field82 map[string]*int64 `json:"field_82,omitempty"` - Field83 *int64 `json:"field_83,omitempty"` - Field84 *string `json:"field_84,omitempty"` - Field85 map[string]*int32 `json:"field_85,omitempty"` - Field86 *bool `json:"field_86,omitempty"` - Field87 *HugeStruct1 `json:"field_87,omitempty"` - Field88 []*int32 `json:"field_88,omitempty"` - Field89 *int32 `json:"field_89,omitempty"` - Field90 []*bool `json:"field_90,omitempty"` - Field91 []*bool `json:"field_91,omitempty"` - Field92 *HugeStruct1 `json:"field_92,omitempty"` - Field93 *int32 `json:"field_93,omitempty"` - Field94 *HugeStruct1 `json:"field_94,omitempty"` - Field95 map[string]*int32 `json:"field_95,omitempty"` - Field96 *int64 `json:"field_96,omitempty"` - Field97 []*HugeStruct0 `json:"field_97,omitempty"` - Field98 []*bool `json:"field_98,omitempty"` - Field99 *HugeStruct0 `json:"field_99,omitempty"` - Field100 []*int32 `json:"field_100,omitempty"` - Field101 *string `json:"field_101,omitempty"` - Field102 map[string]*bool `json:"field_102,omitempty"` - Field103 map[string]*bool `json:"field_103,omitempty"` - Field104 []*string `json:"field_104,omitempty"` - Field105 map[string]*int32 `json:"field_105,omitempty"` - Field106 *int64 `json:"field_106,omitempty"` - Field107 map[string]*HugeStruct1 `json:"field_107,omitempty"` - Field108 []*int32 `json:"field_108,omitempty"` - Field109 []*int64 `json:"field_109,omitempty"` - Field110 *string `json:"field_110,omitempty"` - Field111 map[string]*bool `json:"field_111,omitempty"` - Field112 []*int64 `json:"field_112,omitempty"` - Field113 *int32 `json:"field_113,omitempty"` - Field114 map[string]*HugeStruct0 `json:"field_114,omitempty"` - Field115 map[string]*int32 `json:"field_115,omitempty"` - Field116 []*string `json:"field_116,omitempty"` - Field117 []*int64 `json:"field_117,omitempty"` - Field118 []*int32 `json:"field_118,omitempty"` - Field119 *bool `json:"field_119,omitempty"` - Field120 map[string]*string `json:"field_120,omitempty"` - Field121 map[string]*string `json:"field_121,omitempty"` - Field122 []*string `json:"field_122,omitempty"` - Field123 map[string]*bool `json:"field_123,omitempty"` - Field124 map[string]*string `json:"field_124,omitempty"` - Field125 map[string]*int32 `json:"field_125,omitempty"` - Field126 *HugeStruct0 `json:"field_126,omitempty"` - Field127 *int32 `json:"field_127,omitempty"` - Field128 []*int64 `json:"field_128,omitempty"` - Field129 *HugeStruct1 `json:"field_129,omitempty"` - Field130 *string `json:"field_130,omitempty"` - Field131 *HugeStruct1 `json:"field_131,omitempty"` - Field132 []*HugeStruct0 `json:"field_132,omitempty"` - Field133 map[string]*int64 `json:"field_133,omitempty"` + Field0 bool `json:"field_0,omitempty"` + Field1 map[string]int64 `json:"field_1,omitempty"` + Field2 int32 `json:"field_2,omitempty"` + Field3 []int64 `json:"field_3,omitempty"` + Field4 map[string]int32 `json:"field_4,omitempty"` + Field5 map[string]int32 `json:"field_5,omitempty"` + Field6 bool `json:"field_6,omitempty"` + Field7 map[string]int32 `json:"field_7,omitempty"` + Field8 int64 `json:"field_8,omitempty"` + Field9 []HugeStruct1 `json:"field_9,omitempty"` + Field10 int64 `json:"field_10,omitempty"` + Field11 map[string]int64 `json:"field_11,omitempty"` + Field12 string `json:"field_12,omitempty"` + Field13 int64 `json:"field_13,omitempty"` + Field14 map[string]HugeStruct1 `json:"field_14,omitempty"` + Field15 map[string]int64 `json:"field_15,omitempty"` + Field16 map[string]int32 `json:"field_16,omitempty"` + Field17 map[string]int32 `json:"field_17,omitempty"` + Field18 []int32 `json:"field_18,omitempty"` + Field19 HugeStruct0 `json:"field_19,omitempty"` + Field20 map[string]int64 `json:"field_20,omitempty"` + Field21 HugeStruct1 `json:"field_21,omitempty"` + Field22 []int32 `json:"field_22,omitempty"` + Field23 map[string]int64 `json:"field_23,omitempty"` + Field24 map[string]int64 `json:"field_24,omitempty"` + Field25 int32 `json:"field_25,omitempty"` + Field26 map[string]string `json:"field_26,omitempty"` + Field27 []bool `json:"field_27,omitempty"` + Field28 int32 `json:"field_28,omitempty"` + Field29 []string `json:"field_29,omitempty"` + Field30 []HugeStruct0 `json:"field_30,omitempty"` + Field31 []int64 `json:"field_31,omitempty"` + Field32 int64 `json:"field_32,omitempty"` + Field33 map[string]string `json:"field_33,omitempty"` + Field34 []HugeStruct0 `json:"field_34,omitempty"` + Field35 bool `json:"field_35,omitempty"` + Field36 HugeStruct0 `json:"field_36,omitempty"` + Field37 string `json:"field_37,omitempty"` + Field38 []HugeStruct1 `json:"field_38,omitempty"` + Field39 int64 `json:"field_39,omitempty"` + Field40 map[string]string `json:"field_40,omitempty"` + Field41 string `json:"field_41,omitempty"` + Field42 int64 `json:"field_42,omitempty"` + Field43 map[string]int64 `json:"field_43,omitempty"` + Field44 map[string]string `json:"field_44,omitempty"` + Field45 map[string]int32 `json:"field_45,omitempty"` + Field46 int64 `json:"field_46,omitempty"` + Field47 map[string]int64 `json:"field_47,omitempty"` + Field48 int32 `json:"field_48,omitempty"` + Field49 []HugeStruct1 `json:"field_49,omitempty"` + Field50 int64 `json:"field_50,omitempty"` + Field51 []int64 `json:"field_51,omitempty"` + Field52 map[string]int64 `json:"field_52,omitempty"` + Field53 int32 `json:"field_53,omitempty"` + Field54 map[string]bool `json:"field_54,omitempty"` + Field55 map[string]HugeStruct0 `json:"field_55,omitempty"` + Field56 map[string]int32 `json:"field_56,omitempty"` + Field57 map[string]string `json:"field_57,omitempty"` + Field58 []int64 `json:"field_58,omitempty"` + Field59 HugeStruct0 `json:"field_59,omitempty"` + Field60 []int64 `json:"field_60,omitempty"` + Field61 map[string]int64 `json:"field_61,omitempty"` + Field62 map[string]HugeStruct1 `json:"field_62,omitempty"` + Field63 HugeStruct0 `json:"field_63,omitempty"` + Field64 []int32 `json:"field_64,omitempty"` + Field65 []HugeStruct0 `json:"field_65,omitempty"` + Field66 int32 `json:"field_66,omitempty"` + Field67 []int64 `json:"field_67,omitempty"` + Field68 []bool `json:"field_68,omitempty"` + Field69 int64 `json:"field_69,omitempty"` + Field70 int64 `json:"field_70,omitempty"` + Field71 int64 `json:"field_71,omitempty"` + Field72 map[string]int32 `json:"field_72,omitempty"` + Field73 map[string]int32 `json:"field_73,omitempty"` + Field74 map[string]int32 `json:"field_74,omitempty"` + Field75 map[string]bool `json:"field_75,omitempty"` + Field76 string `json:"field_76,omitempty"` + Field77 []int32 `json:"field_77,omitempty"` + Field78 int64 `json:"field_78,omitempty"` + Field79 int64 `json:"field_79,omitempty"` + Field80 int64 `json:"field_80,omitempty"` + Field81 []bool `json:"field_81,omitempty"` + Field82 map[string]int64 `json:"field_82,omitempty"` + Field83 int64 `json:"field_83,omitempty"` + Field84 string `json:"field_84,omitempty"` + Field85 map[string]int32 `json:"field_85,omitempty"` + Field86 bool `json:"field_86,omitempty"` + Field87 HugeStruct1 `json:"field_87,omitempty"` + Field88 []int32 `json:"field_88,omitempty"` + Field89 int32 `json:"field_89,omitempty"` + Field90 []bool `json:"field_90,omitempty"` + Field91 []bool `json:"field_91,omitempty"` + Field92 HugeStruct1 `json:"field_92,omitempty"` + Field93 int32 `json:"field_93,omitempty"` + Field94 HugeStruct1 `json:"field_94,omitempty"` + Field95 map[string]int32 `json:"field_95,omitempty"` + Field96 int64 `json:"field_96,omitempty"` + Field97 []HugeStruct0 `json:"field_97,omitempty"` + Field98 []bool `json:"field_98,omitempty"` + Field99 HugeStruct0 `json:"field_99,omitempty"` + Field100 []int32 `json:"field_100,omitempty"` + Field101 string `json:"field_101,omitempty"` + Field102 map[string]bool `json:"field_102,omitempty"` + Field103 map[string]bool `json:"field_103,omitempty"` + Field104 []string `json:"field_104,omitempty"` + Field105 map[string]int32 `json:"field_105,omitempty"` + Field106 int64 `json:"field_106,omitempty"` + Field107 map[string]HugeStruct1 `json:"field_107,omitempty"` + Field108 []int32 `json:"field_108,omitempty"` + Field109 []int64 `json:"field_109,omitempty"` + Field110 string `json:"field_110,omitempty"` + Field111 map[string]bool `json:"field_111,omitempty"` + Field112 []int64 `json:"field_112,omitempty"` + Field113 int32 `json:"field_113,omitempty"` + Field114 map[string]HugeStruct0 `json:"field_114,omitempty"` + Field115 map[string]int32 `json:"field_115,omitempty"` + Field116 []string `json:"field_116,omitempty"` + Field117 []int64 `json:"field_117,omitempty"` + Field118 []int32 `json:"field_118,omitempty"` + Field119 bool `json:"field_119,omitempty"` + Field120 map[string]string `json:"field_120,omitempty"` + Field121 map[string]string `json:"field_121,omitempty"` + Field122 []string `json:"field_122,omitempty"` + Field123 map[string]bool `json:"field_123,omitempty"` + Field124 map[string]string `json:"field_124,omitempty"` + Field125 map[string]int32 `json:"field_125,omitempty"` + Field126 HugeStruct0 `json:"field_126,omitempty"` + Field127 int32 `json:"field_127,omitempty"` + Field128 []int64 `json:"field_128,omitempty"` + Field129 HugeStruct1 `json:"field_129,omitempty"` + Field130 string `json:"field_130,omitempty"` + Field131 HugeStruct1 `json:"field_131,omitempty"` + Field132 []HugeStruct0 `json:"field_132,omitempty"` + Field133 map[string]int64 `json:"field_133,omitempty"` } type HugeStruct3 struct { - Field0 map[string]*int32 `json:"field_0,omitempty"` - Field1 *int32 `json:"field_1,omitempty"` - Field2 map[string]*string `json:"field_2,omitempty"` - Field3 []*bool `json:"field_3,omitempty"` - Field4 map[string]*string `json:"field_4,omitempty"` - Field5 map[string]*string `json:"field_5,omitempty"` - Field6 []*HugeStruct0 `json:"field_6,omitempty"` - Field7 []*bool `json:"field_7,omitempty"` - Field8 []*int32 `json:"field_8,omitempty"` - Field9 []*bool `json:"field_9,omitempty"` - Field10 map[string]*int64 `json:"field_10,omitempty"` - Field11 *HugeStruct1 `json:"field_11,omitempty"` - Field12 []*bool `json:"field_12,omitempty"` - Field13 []*bool `json:"field_13,omitempty"` - Field14 *int64 `json:"field_14,omitempty"` - Field15 *bool `json:"field_15,omitempty"` - Field16 *int32 `json:"field_16,omitempty"` - Field17 *HugeStruct0 `json:"field_17,omitempty"` - Field18 *bool `json:"field_18,omitempty"` - Field19 map[string]*int32 `json:"field_19,omitempty"` - Field20 map[string]*string `json:"field_20,omitempty"` - Field21 map[string]*string `json:"field_21,omitempty"` - Field22 *string `json:"field_22,omitempty"` - Field23 []*string `json:"field_23,omitempty"` - Field24 []*bool `json:"field_24,omitempty"` - Field25 *int32 `json:"field_25,omitempty"` - Field26 []*int64 `json:"field_26,omitempty"` - Field27 *int32 `json:"field_27,omitempty"` - Field28 []*int32 `json:"field_28,omitempty"` - Field29 []*int64 `json:"field_29,omitempty"` - Field30 []*bool `json:"field_30,omitempty"` - Field31 map[string]*HugeStruct1 `json:"field_31,omitempty"` - Field32 []*bool `json:"field_32,omitempty"` - Field33 map[string]*bool `json:"field_33,omitempty"` - Field34 []*string `json:"field_34,omitempty"` - Field35 []*string `json:"field_35,omitempty"` - Field36 []*int32 `json:"field_36,omitempty"` - Field37 *int32 `json:"field_37,omitempty"` - Field38 map[string]*string `json:"field_38,omitempty"` - Field39 []*string `json:"field_39,omitempty"` - Field40 []*bool `json:"field_40,omitempty"` - Field41 []*bool `json:"field_41,omitempty"` - Field42 map[string]*HugeStruct1 `json:"field_42,omitempty"` - Field43 *HugeStruct1 `json:"field_43,omitempty"` - Field44 *bool `json:"field_44,omitempty"` - Field45 []*string `json:"field_45,omitempty"` - Field46 map[string]*HugeStruct0 `json:"field_46,omitempty"` - Field47 map[string]*int64 `json:"field_47,omitempty"` - Field48 map[string]*HugeStruct2 `json:"field_48,omitempty"` - Field49 []*bool `json:"field_49,omitempty"` - Field50 []*int64 `json:"field_50,omitempty"` - Field51 map[string]*bool `json:"field_51,omitempty"` - Field52 []*string `json:"field_52,omitempty"` - Field53 map[string]*int64 `json:"field_53,omitempty"` - Field54 map[string]*string `json:"field_54,omitempty"` - Field55 map[string]*int64 `json:"field_55,omitempty"` - Field56 *int64 `json:"field_56,omitempty"` - Field57 []*HugeStruct0 `json:"field_57,omitempty"` - Field58 []*bool `json:"field_58,omitempty"` - Field59 *int64 `json:"field_59,omitempty"` - Field60 *int32 `json:"field_60,omitempty"` - Field61 map[string]*int32 `json:"field_61,omitempty"` - Field62 *bool `json:"field_62,omitempty"` - Field63 map[string]*int64 `json:"field_63,omitempty"` - Field64 map[string]*HugeStruct1 `json:"field_64,omitempty"` - Field65 []*string `json:"field_65,omitempty"` - Field66 []*HugeStruct2 `json:"field_66,omitempty"` - Field67 map[string]*bool `json:"field_67,omitempty"` - Field68 []*bool `json:"field_68,omitempty"` - Field69 map[string]*int64 `json:"field_69,omitempty"` - Field70 []*int64 `json:"field_70,omitempty"` - Field71 map[string]*int32 `json:"field_71,omitempty"` - Field72 []*int64 `json:"field_72,omitempty"` - Field73 []*int32 `json:"field_73,omitempty"` - Field74 []*bool `json:"field_74,omitempty"` - Field75 []*int64 `json:"field_75,omitempty"` - Field76 map[string]*int64 `json:"field_76,omitempty"` - Field77 *string `json:"field_77,omitempty"` - Field78 *bool `json:"field_78,omitempty"` - Field79 []*string `json:"field_79,omitempty"` - Field80 map[string]*bool `json:"field_80,omitempty"` - Field81 map[string]*int64 `json:"field_81,omitempty"` - Field82 []*HugeStruct2 `json:"field_82,omitempty"` - Field83 map[string]*string `json:"field_83,omitempty"` - Field84 *int64 `json:"field_84,omitempty"` - Field85 *int64 `json:"field_85,omitempty"` - Field86 []*string `json:"field_86,omitempty"` - Field87 []*int64 `json:"field_87,omitempty"` - Field88 []*int64 `json:"field_88,omitempty"` - Field89 []*HugeStruct1 `json:"field_89,omitempty"` - Field90 *int32 `json:"field_90,omitempty"` - Field91 map[string]*bool `json:"field_91,omitempty"` - Field92 *HugeStruct0 `json:"field_92,omitempty"` - Field93 []*bool `json:"field_93,omitempty"` - Field94 map[string]*string `json:"field_94,omitempty"` - Field95 map[string]*int64 `json:"field_95,omitempty"` - Field96 []*HugeStruct1 `json:"field_96,omitempty"` - Field97 []*int32 `json:"field_97,omitempty"` - Field98 []*int64 `json:"field_98,omitempty"` - Field99 *bool `json:"field_99,omitempty"` - Field100 []*string `json:"field_100,omitempty"` - Field101 map[string]*int64 `json:"field_101,omitempty"` - Field102 map[string]*string `json:"field_102,omitempty"` - Field103 []*int32 `json:"field_103,omitempty"` - Field104 map[string]*string `json:"field_104,omitempty"` - Field105 *HugeStruct1 `json:"field_105,omitempty"` - Field106 []*int32 `json:"field_106,omitempty"` - Field107 *HugeStruct1 `json:"field_107,omitempty"` - Field108 []*HugeStruct1 `json:"field_108,omitempty"` - Field109 []*bool `json:"field_109,omitempty"` - Field110 []*int32 `json:"field_110,omitempty"` - Field111 map[string]*string `json:"field_111,omitempty"` - Field112 map[string]*HugeStruct0 `json:"field_112,omitempty"` - Field113 map[string]*int32 `json:"field_113,omitempty"` - Field114 []*bool `json:"field_114,omitempty"` - Field115 []*HugeStruct2 `json:"field_115,omitempty"` - Field116 map[string]*bool `json:"field_116,omitempty"` - Field117 map[string]*string `json:"field_117,omitempty"` - Field118 *int32 `json:"field_118,omitempty"` - Field119 *int64 `json:"field_119,omitempty"` + Field0 map[string]int32 `json:"field_0,omitempty"` + Field1 int32 `json:"field_1,omitempty"` + Field2 map[string]string `json:"field_2,omitempty"` + Field3 []bool `json:"field_3,omitempty"` + Field4 map[string]string `json:"field_4,omitempty"` + Field5 map[string]string `json:"field_5,omitempty"` + Field6 []HugeStruct0 `json:"field_6,omitempty"` + Field7 []bool `json:"field_7,omitempty"` + Field8 []int32 `json:"field_8,omitempty"` + Field9 []bool `json:"field_9,omitempty"` + Field10 map[string]int64 `json:"field_10,omitempty"` + Field11 HugeStruct1 `json:"field_11,omitempty"` + Field12 []bool `json:"field_12,omitempty"` + Field13 []bool `json:"field_13,omitempty"` + Field14 int64 `json:"field_14,omitempty"` + Field15 bool `json:"field_15,omitempty"` + Field16 int32 `json:"field_16,omitempty"` + Field17 HugeStruct0 `json:"field_17,omitempty"` + Field18 bool `json:"field_18,omitempty"` + Field19 map[string]int32 `json:"field_19,omitempty"` + Field20 map[string]string `json:"field_20,omitempty"` + Field21 map[string]string `json:"field_21,omitempty"` + Field22 string `json:"field_22,omitempty"` + Field23 []string `json:"field_23,omitempty"` + Field24 []bool `json:"field_24,omitempty"` + Field25 int32 `json:"field_25,omitempty"` + Field26 []int64 `json:"field_26,omitempty"` + Field27 int32 `json:"field_27,omitempty"` + Field28 []int32 `json:"field_28,omitempty"` + Field29 []int64 `json:"field_29,omitempty"` + Field30 []bool `json:"field_30,omitempty"` + Field31 map[string]HugeStruct1 `json:"field_31,omitempty"` + Field32 []bool `json:"field_32,omitempty"` + Field33 map[string]bool `json:"field_33,omitempty"` + Field34 []string `json:"field_34,omitempty"` + Field35 []string `json:"field_35,omitempty"` + Field36 []int32 `json:"field_36,omitempty"` + Field37 int32 `json:"field_37,omitempty"` + Field38 map[string]string `json:"field_38,omitempty"` + Field39 []string `json:"field_39,omitempty"` + Field40 []bool `json:"field_40,omitempty"` + Field41 []bool `json:"field_41,omitempty"` + Field42 map[string]HugeStruct1 `json:"field_42,omitempty"` + Field43 HugeStruct1 `json:"field_43,omitempty"` + Field44 bool `json:"field_44,omitempty"` + Field45 []string `json:"field_45,omitempty"` + Field46 map[string]HugeStruct0 `json:"field_46,omitempty"` + Field47 map[string]int64 `json:"field_47,omitempty"` + Field48 map[string]HugeStruct2 `json:"field_48,omitempty"` + Field49 []bool `json:"field_49,omitempty"` + Field50 []int64 `json:"field_50,omitempty"` + Field51 map[string]bool `json:"field_51,omitempty"` + Field52 []string `json:"field_52,omitempty"` + Field53 map[string]int64 `json:"field_53,omitempty"` + Field54 map[string]string `json:"field_54,omitempty"` + Field55 map[string]int64 `json:"field_55,omitempty"` + Field56 int64 `json:"field_56,omitempty"` + Field57 []HugeStruct0 `json:"field_57,omitempty"` + Field58 []bool `json:"field_58,omitempty"` + Field59 int64 `json:"field_59,omitempty"` + Field60 int32 `json:"field_60,omitempty"` + Field61 map[string]int32 `json:"field_61,omitempty"` + Field62 bool `json:"field_62,omitempty"` + Field63 map[string]int64 `json:"field_63,omitempty"` + Field64 map[string]HugeStruct1 `json:"field_64,omitempty"` + Field65 []string `json:"field_65,omitempty"` + Field66 []HugeStruct2 `json:"field_66,omitempty"` + Field67 map[string]bool `json:"field_67,omitempty"` + Field68 []bool `json:"field_68,omitempty"` + Field69 map[string]int64 `json:"field_69,omitempty"` + Field70 []int64 `json:"field_70,omitempty"` + Field71 map[string]int32 `json:"field_71,omitempty"` + Field72 []int64 `json:"field_72,omitempty"` + Field73 []int32 `json:"field_73,omitempty"` + Field74 []bool `json:"field_74,omitempty"` + Field75 []int64 `json:"field_75,omitempty"` + Field76 map[string]int64 `json:"field_76,omitempty"` + Field77 string `json:"field_77,omitempty"` + Field78 bool `json:"field_78,omitempty"` + Field79 []string `json:"field_79,omitempty"` + Field80 map[string]bool `json:"field_80,omitempty"` + Field81 map[string]int64 `json:"field_81,omitempty"` + Field82 []HugeStruct2 `json:"field_82,omitempty"` + Field83 map[string]string `json:"field_83,omitempty"` + Field84 int64 `json:"field_84,omitempty"` + Field85 int64 `json:"field_85,omitempty"` + Field86 []string `json:"field_86,omitempty"` + Field87 []int64 `json:"field_87,omitempty"` + Field88 []int64 `json:"field_88,omitempty"` + Field89 []HugeStruct1 `json:"field_89,omitempty"` + Field90 int32 `json:"field_90,omitempty"` + Field91 map[string]bool `json:"field_91,omitempty"` + Field92 HugeStruct0 `json:"field_92,omitempty"` + Field93 []bool `json:"field_93,omitempty"` + Field94 map[string]string `json:"field_94,omitempty"` + Field95 map[string]int64 `json:"field_95,omitempty"` + Field96 []HugeStruct1 `json:"field_96,omitempty"` + Field97 []int32 `json:"field_97,omitempty"` + Field98 []int64 `json:"field_98,omitempty"` + Field99 bool `json:"field_99,omitempty"` + Field100 []string `json:"field_100,omitempty"` + Field101 map[string]int64 `json:"field_101,omitempty"` + Field102 map[string]string `json:"field_102,omitempty"` + Field103 []int32 `json:"field_103,omitempty"` + Field104 map[string]string `json:"field_104,omitempty"` + Field105 HugeStruct1 `json:"field_105,omitempty"` + Field106 []int32 `json:"field_106,omitempty"` + Field107 HugeStruct1 `json:"field_107,omitempty"` + Field108 []HugeStruct1 `json:"field_108,omitempty"` + Field109 []bool `json:"field_109,omitempty"` + Field110 []int32 `json:"field_110,omitempty"` + Field111 map[string]string `json:"field_111,omitempty"` + Field112 map[string]HugeStruct0 `json:"field_112,omitempty"` + Field113 map[string]int32 `json:"field_113,omitempty"` + Field114 []bool `json:"field_114,omitempty"` + Field115 []HugeStruct2 `json:"field_115,omitempty"` + Field116 map[string]bool `json:"field_116,omitempty"` + Field117 map[string]string `json:"field_117,omitempty"` + Field118 int32 `json:"field_118,omitempty"` + Field119 int64 `json:"field_119,omitempty"` } type HugeStruct4 struct { - Field0 *int64 `json:"field_0,omitempty"` - Field1 *string `json:"field_1,omitempty"` - Field2 map[string]*int64 `json:"field_2,omitempty"` - Field3 *HugeStruct3 `json:"field_3,omitempty"` - Field4 []*string `json:"field_4,omitempty"` - Field5 map[string]*string `json:"field_5,omitempty"` - Field6 *HugeStruct3 `json:"field_6,omitempty"` - Field7 map[string]*bool `json:"field_7,omitempty"` - Field8 map[string]*bool `json:"field_8,omitempty"` - Field9 []*bool `json:"field_9,omitempty"` - Field10 map[string]*string `json:"field_10,omitempty"` - Field11 []*string `json:"field_11,omitempty"` - Field12 map[string]*int32 `json:"field_12,omitempty"` - Field13 []*int64 `json:"field_13,omitempty"` - Field14 map[string]*string `json:"field_14,omitempty"` - Field15 *int32 `json:"field_15,omitempty"` - Field16 []*int64 `json:"field_16,omitempty"` - Field17 []*int64 `json:"field_17,omitempty"` - Field18 map[string]*int64 `json:"field_18,omitempty"` - Field19 *HugeStruct3 `json:"field_19,omitempty"` - Field20 map[string]*string `json:"field_20,omitempty"` - Field21 []*string `json:"field_21,omitempty"` - Field22 []*int64 `json:"field_22,omitempty"` - Field23 *string `json:"field_23,omitempty"` - Field24 []*int64 `json:"field_24,omitempty"` - Field25 *HugeStruct2 `json:"field_25,omitempty"` - Field26 []*bool `json:"field_26,omitempty"` - Field27 []*string `json:"field_27,omitempty"` - Field28 *int64 `json:"field_28,omitempty"` - Field29 []*bool `json:"field_29,omitempty"` - Field30 map[string]*HugeStruct3 `json:"field_30,omitempty"` - Field31 []*string `json:"field_31,omitempty"` - Field32 []*HugeStruct2 `json:"field_32,omitempty"` - Field33 *int64 `json:"field_33,omitempty"` - Field34 map[string]*int32 `json:"field_34,omitempty"` - Field35 map[string]*HugeStruct1 `json:"field_35,omitempty"` - Field36 []*string `json:"field_36,omitempty"` - Field37 []*HugeStruct2 `json:"field_37,omitempty"` - Field38 map[string]*int64 `json:"field_38,omitempty"` - Field39 *string `json:"field_39,omitempty"` - Field40 *HugeStruct2 `json:"field_40,omitempty"` - Field41 []*int32 `json:"field_41,omitempty"` - Field42 []*bool `json:"field_42,omitempty"` - Field43 map[string]*bool `json:"field_43,omitempty"` - Field44 *HugeStruct0 `json:"field_44,omitempty"` - Field45 []*string `json:"field_45,omitempty"` - Field46 []*int64 `json:"field_46,omitempty"` - Field47 []*string `json:"field_47,omitempty"` - Field48 []*string `json:"field_48,omitempty"` - Field49 map[string]*int64 `json:"field_49,omitempty"` - Field50 []*HugeStruct2 `json:"field_50,omitempty"` - Field51 []*string `json:"field_51,omitempty"` - Field52 []*int32 `json:"field_52,omitempty"` - Field53 *HugeStruct1 `json:"field_53,omitempty"` - Field54 map[string]*int64 `json:"field_54,omitempty"` - Field55 []*int32 `json:"field_55,omitempty"` - Field56 *int32 `json:"field_56,omitempty"` - Field57 *int32 `json:"field_57,omitempty"` - Field58 []*int64 `json:"field_58,omitempty"` - Field59 *int32 `json:"field_59,omitempty"` - Field60 []*HugeStruct0 `json:"field_60,omitempty"` - Field61 *int64 `json:"field_61,omitempty"` - Field62 *HugeStruct3 `json:"field_62,omitempty"` - Field63 map[string]*int64 `json:"field_63,omitempty"` - Field64 map[string]*int32 `json:"field_64,omitempty"` - Field65 []*int32 `json:"field_65,omitempty"` - Field66 []*HugeStruct1 `json:"field_66,omitempty"` - Field67 []*HugeStruct2 `json:"field_67,omitempty"` - Field68 *HugeStruct0 `json:"field_68,omitempty"` - Field69 *int64 `json:"field_69,omitempty"` - Field70 []*int64 `json:"field_70,omitempty"` - Field71 *int64 `json:"field_71,omitempty"` - Field72 map[string]*int32 `json:"field_72,omitempty"` - Field73 *bool `json:"field_73,omitempty"` - Field74 []*bool `json:"field_74,omitempty"` - Field75 *int32 `json:"field_75,omitempty"` - Field76 map[string]*int64 `json:"field_76,omitempty"` - Field77 map[string]*int32 `json:"field_77,omitempty"` - Field78 []*int64 `json:"field_78,omitempty"` - Field79 *int32 `json:"field_79,omitempty"` - Field80 map[string]*HugeStruct2 `json:"field_80,omitempty"` - Field81 map[string]*bool `json:"field_81,omitempty"` - Field82 []*HugeStruct0 `json:"field_82,omitempty"` - Field83 *int32 `json:"field_83,omitempty"` - Field84 []*int64 `json:"field_84,omitempty"` - Field85 map[string]*string `json:"field_85,omitempty"` - Field86 *HugeStruct0 `json:"field_86,omitempty"` - Field87 *bool `json:"field_87,omitempty"` - Field88 map[string]*int64 `json:"field_88,omitempty"` - Field89 []*string `json:"field_89,omitempty"` - Field90 []*bool `json:"field_90,omitempty"` - Field91 map[string]*string `json:"field_91,omitempty"` - Field92 *bool `json:"field_92,omitempty"` - Field93 *HugeStruct2 `json:"field_93,omitempty"` - Field94 map[string]*HugeStruct2 `json:"field_94,omitempty"` - Field95 []*string `json:"field_95,omitempty"` - Field96 []*int32 `json:"field_96,omitempty"` - Field97 *int32 `json:"field_97,omitempty"` - Field98 *string `json:"field_98,omitempty"` - Field99 map[string]*HugeStruct3 `json:"field_99,omitempty"` - Field100 []*HugeStruct0 `json:"field_100,omitempty"` - Field101 *int32 `json:"field_101,omitempty"` - Field102 *int64 `json:"field_102,omitempty"` - Field103 []*HugeStruct3 `json:"field_103,omitempty"` - Field104 map[string]*HugeStruct3 `json:"field_104,omitempty"` - Field105 map[string]*int64 `json:"field_105,omitempty"` - Field106 *bool `json:"field_106,omitempty"` - Field107 []*string `json:"field_107,omitempty"` - Field108 []*HugeStruct1 `json:"field_108,omitempty"` - Field109 *HugeStruct1 `json:"field_109,omitempty"` - Field110 *int32 `json:"field_110,omitempty"` - Field111 *int64 `json:"field_111,omitempty"` - Field112 *string `json:"field_112,omitempty"` - Field113 []*int32 `json:"field_113,omitempty"` - Field114 map[string]*int32 `json:"field_114,omitempty"` - Field115 *int32 `json:"field_115,omitempty"` - Field116 []*int64 `json:"field_116,omitempty"` - Field117 []*bool `json:"field_117,omitempty"` - Field118 []*bool `json:"field_118,omitempty"` - Field119 *int64 `json:"field_119,omitempty"` - Field120 *int32 `json:"field_120,omitempty"` - Field121 []*int32 `json:"field_121,omitempty"` - Field122 map[string]*HugeStruct3 `json:"field_122,omitempty"` - Field123 []*int64 `json:"field_123,omitempty"` - Field124 []*string `json:"field_124,omitempty"` - Field125 *HugeStruct0 `json:"field_125,omitempty"` + Field0 int64 `json:"field_0,omitempty"` + Field1 string `json:"field_1,omitempty"` + Field2 map[string]int64 `json:"field_2,omitempty"` + Field3 HugeStruct3 `json:"field_3,omitempty"` + Field4 []string `json:"field_4,omitempty"` + Field5 map[string]string `json:"field_5,omitempty"` + Field6 HugeStruct3 `json:"field_6,omitempty"` + Field7 map[string]bool `json:"field_7,omitempty"` + Field8 map[string]bool `json:"field_8,omitempty"` + Field9 []bool `json:"field_9,omitempty"` + Field10 map[string]string `json:"field_10,omitempty"` + Field11 []string `json:"field_11,omitempty"` + Field12 map[string]int32 `json:"field_12,omitempty"` + Field13 []int64 `json:"field_13,omitempty"` + Field14 map[string]string `json:"field_14,omitempty"` + Field15 int32 `json:"field_15,omitempty"` + Field16 []int64 `json:"field_16,omitempty"` + Field17 []int64 `json:"field_17,omitempty"` + Field18 map[string]int64 `json:"field_18,omitempty"` + Field19 HugeStruct3 `json:"field_19,omitempty"` + Field20 map[string]string `json:"field_20,omitempty"` + Field21 []string `json:"field_21,omitempty"` + Field22 []int64 `json:"field_22,omitempty"` + Field23 string `json:"field_23,omitempty"` + Field24 []int64 `json:"field_24,omitempty"` + Field25 HugeStruct2 `json:"field_25,omitempty"` + Field26 []bool `json:"field_26,omitempty"` + Field27 []string `json:"field_27,omitempty"` + Field28 int64 `json:"field_28,omitempty"` + Field29 []bool `json:"field_29,omitempty"` + Field30 map[string]HugeStruct3 `json:"field_30,omitempty"` + Field31 []string `json:"field_31,omitempty"` + Field32 []HugeStruct2 `json:"field_32,omitempty"` + Field33 int64 `json:"field_33,omitempty"` + Field34 map[string]int32 `json:"field_34,omitempty"` + Field35 map[string]HugeStruct1 `json:"field_35,omitempty"` + Field36 []string `json:"field_36,omitempty"` + Field37 []HugeStruct2 `json:"field_37,omitempty"` + Field38 map[string]int64 `json:"field_38,omitempty"` + Field39 string `json:"field_39,omitempty"` + Field40 HugeStruct2 `json:"field_40,omitempty"` + Field41 []int32 `json:"field_41,omitempty"` + Field42 []bool `json:"field_42,omitempty"` + Field43 map[string]bool `json:"field_43,omitempty"` + Field44 HugeStruct0 `json:"field_44,omitempty"` + Field45 []string `json:"field_45,omitempty"` + Field46 []int64 `json:"field_46,omitempty"` + Field47 []string `json:"field_47,omitempty"` + Field48 []string `json:"field_48,omitempty"` + Field49 map[string]int64 `json:"field_49,omitempty"` + Field50 []HugeStruct2 `json:"field_50,omitempty"` + Field51 []string `json:"field_51,omitempty"` + Field52 []int32 `json:"field_52,omitempty"` + Field53 HugeStruct1 `json:"field_53,omitempty"` + Field54 map[string]int64 `json:"field_54,omitempty"` + Field55 []int32 `json:"field_55,omitempty"` + Field56 int32 `json:"field_56,omitempty"` + Field57 int32 `json:"field_57,omitempty"` + Field58 []int64 `json:"field_58,omitempty"` + Field59 int32 `json:"field_59,omitempty"` + Field60 []HugeStruct0 `json:"field_60,omitempty"` + Field61 int64 `json:"field_61,omitempty"` + Field62 HugeStruct3 `json:"field_62,omitempty"` + Field63 map[string]int64 `json:"field_63,omitempty"` + Field64 map[string]int32 `json:"field_64,omitempty"` + Field65 []int32 `json:"field_65,omitempty"` + Field66 []HugeStruct1 `json:"field_66,omitempty"` + Field67 []HugeStruct2 `json:"field_67,omitempty"` + Field68 HugeStruct0 `json:"field_68,omitempty"` + Field69 int64 `json:"field_69,omitempty"` + Field70 []int64 `json:"field_70,omitempty"` + Field71 int64 `json:"field_71,omitempty"` + Field72 map[string]int32 `json:"field_72,omitempty"` + Field73 bool `json:"field_73,omitempty"` + Field74 []bool `json:"field_74,omitempty"` + Field75 int32 `json:"field_75,omitempty"` + Field76 map[string]int64 `json:"field_76,omitempty"` + Field77 map[string]int32 `json:"field_77,omitempty"` + Field78 []int64 `json:"field_78,omitempty"` + Field79 int32 `json:"field_79,omitempty"` + Field80 map[string]HugeStruct2 `json:"field_80,omitempty"` + Field81 map[string]bool `json:"field_81,omitempty"` + Field82 []HugeStruct0 `json:"field_82,omitempty"` + Field83 int32 `json:"field_83,omitempty"` + Field84 []int64 `json:"field_84,omitempty"` + Field85 map[string]string `json:"field_85,omitempty"` + Field86 HugeStruct0 `json:"field_86,omitempty"` + Field87 bool `json:"field_87,omitempty"` + Field88 map[string]int64 `json:"field_88,omitempty"` + Field89 []string `json:"field_89,omitempty"` + Field90 []bool `json:"field_90,omitempty"` + Field91 map[string]string `json:"field_91,omitempty"` + Field92 bool `json:"field_92,omitempty"` + Field93 HugeStruct2 `json:"field_93,omitempty"` + Field94 map[string]HugeStruct2 `json:"field_94,omitempty"` + Field95 []string `json:"field_95,omitempty"` + Field96 []int32 `json:"field_96,omitempty"` + Field97 int32 `json:"field_97,omitempty"` + Field98 string `json:"field_98,omitempty"` + Field99 map[string]HugeStruct3 `json:"field_99,omitempty"` + Field100 []HugeStruct0 `json:"field_100,omitempty"` + Field101 int32 `json:"field_101,omitempty"` + Field102 int64 `json:"field_102,omitempty"` + Field103 []HugeStruct3 `json:"field_103,omitempty"` + Field104 map[string]HugeStruct3 `json:"field_104,omitempty"` + Field105 map[string]int64 `json:"field_105,omitempty"` + Field106 bool `json:"field_106,omitempty"` + Field107 []string `json:"field_107,omitempty"` + Field108 []HugeStruct1 `json:"field_108,omitempty"` + Field109 HugeStruct1 `json:"field_109,omitempty"` + Field110 int32 `json:"field_110,omitempty"` + Field111 int64 `json:"field_111,omitempty"` + Field112 string `json:"field_112,omitempty"` + Field113 []int32 `json:"field_113,omitempty"` + Field114 map[string]int32 `json:"field_114,omitempty"` + Field115 int32 `json:"field_115,omitempty"` + Field116 []int64 `json:"field_116,omitempty"` + Field117 []bool `json:"field_117,omitempty"` + Field118 []bool `json:"field_118,omitempty"` + Field119 int64 `json:"field_119,omitempty"` + Field120 int32 `json:"field_120,omitempty"` + Field121 []int32 `json:"field_121,omitempty"` + Field122 map[string]HugeStruct3 `json:"field_122,omitempty"` + Field123 []int64 `json:"field_123,omitempty"` + Field124 []string `json:"field_124,omitempty"` + Field125 HugeStruct0 `json:"field_125,omitempty"` } type HugeStruct5 struct { - Field0 *string `json:"field_0,omitempty"` - Field1 map[string]*bool `json:"field_1,omitempty"` - Field2 *bool `json:"field_2,omitempty"` - Field3 map[string]*bool `json:"field_3,omitempty"` - Field4 *int32 `json:"field_4,omitempty"` - Field5 []*bool `json:"field_5,omitempty"` - Field6 []*string `json:"field_6,omitempty"` - Field7 *bool `json:"field_7,omitempty"` - Field8 map[string]*HugeStruct0 `json:"field_8,omitempty"` - Field9 map[string]*HugeStruct0 `json:"field_9,omitempty"` - Field10 map[string]*int32 `json:"field_10,omitempty"` - Field11 []*int64 `json:"field_11,omitempty"` - Field12 *string `json:"field_12,omitempty"` - Field13 map[string]*HugeStruct1 `json:"field_13,omitempty"` - Field14 *string `json:"field_14,omitempty"` - Field15 *HugeStruct1 `json:"field_15,omitempty"` - Field16 *bool `json:"field_16,omitempty"` - Field17 map[string]*int32 `json:"field_17,omitempty"` - Field18 *string `json:"field_18,omitempty"` - Field19 []*HugeStruct3 `json:"field_19,omitempty"` - Field20 map[string]*int64 `json:"field_20,omitempty"` - Field21 map[string]*int32 `json:"field_21,omitempty"` - Field22 *string `json:"field_22,omitempty"` - Field23 map[string]*string `json:"field_23,omitempty"` - Field24 map[string]*string `json:"field_24,omitempty"` - Field25 *string `json:"field_25,omitempty"` - Field26 *int64 `json:"field_26,omitempty"` - Field27 map[string]*int32 `json:"field_27,omitempty"` - Field28 []*int64 `json:"field_28,omitempty"` - Field29 []*int32 `json:"field_29,omitempty"` - Field30 map[string]*HugeStruct1 `json:"field_30,omitempty"` - Field31 []*bool `json:"field_31,omitempty"` - Field32 *int64 `json:"field_32,omitempty"` - Field33 *string `json:"field_33,omitempty"` - Field34 *int64 `json:"field_34,omitempty"` - Field35 []*int64 `json:"field_35,omitempty"` - Field36 map[string]*string `json:"field_36,omitempty"` - Field37 *int32 `json:"field_37,omitempty"` - Field38 []*int64 `json:"field_38,omitempty"` - Field39 map[string]*int32 `json:"field_39,omitempty"` - Field40 map[string]*HugeStruct4 `json:"field_40,omitempty"` - Field41 []*string `json:"field_41,omitempty"` - Field42 *int32 `json:"field_42,omitempty"` - Field43 []*bool `json:"field_43,omitempty"` - Field44 []*string `json:"field_44,omitempty"` - Field45 *int32 `json:"field_45,omitempty"` - Field46 []*HugeStruct2 `json:"field_46,omitempty"` - Field47 []*HugeStruct4 `json:"field_47,omitempty"` - Field48 []*bool `json:"field_48,omitempty"` - Field49 *bool `json:"field_49,omitempty"` - Field50 []*string `json:"field_50,omitempty"` - Field51 map[string]*string `json:"field_51,omitempty"` - Field52 map[string]*bool `json:"field_52,omitempty"` - Field53 []*bool `json:"field_53,omitempty"` - Field54 []*string `json:"field_54,omitempty"` - Field55 map[string]*HugeStruct0 `json:"field_55,omitempty"` - Field56 map[string]*int64 `json:"field_56,omitempty"` - Field57 *bool `json:"field_57,omitempty"` + Field0 string `json:"field_0,omitempty"` + Field1 map[string]bool `json:"field_1,omitempty"` + Field2 bool `json:"field_2,omitempty"` + Field3 map[string]bool `json:"field_3,omitempty"` + Field4 int32 `json:"field_4,omitempty"` + Field5 []bool `json:"field_5,omitempty"` + Field6 []string `json:"field_6,omitempty"` + Field7 bool `json:"field_7,omitempty"` + Field8 map[string]HugeStruct0 `json:"field_8,omitempty"` + Field9 map[string]HugeStruct0 `json:"field_9,omitempty"` + Field10 map[string]int32 `json:"field_10,omitempty"` + Field11 []int64 `json:"field_11,omitempty"` + Field12 string `json:"field_12,omitempty"` + Field13 map[string]HugeStruct1 `json:"field_13,omitempty"` + Field14 string `json:"field_14,omitempty"` + Field15 HugeStruct1 `json:"field_15,omitempty"` + Field16 bool `json:"field_16,omitempty"` + Field17 map[string]int32 `json:"field_17,omitempty"` + Field18 string `json:"field_18,omitempty"` + Field19 []HugeStruct3 `json:"field_19,omitempty"` + Field20 map[string]int64 `json:"field_20,omitempty"` + Field21 map[string]int32 `json:"field_21,omitempty"` + Field22 string `json:"field_22,omitempty"` + Field23 map[string]string `json:"field_23,omitempty"` + Field24 map[string]string `json:"field_24,omitempty"` + Field25 string `json:"field_25,omitempty"` + Field26 int64 `json:"field_26,omitempty"` + Field27 map[string]int32 `json:"field_27,omitempty"` + Field28 []int64 `json:"field_28,omitempty"` + Field29 []int32 `json:"field_29,omitempty"` + Field30 map[string]HugeStruct1 `json:"field_30,omitempty"` + Field31 []bool `json:"field_31,omitempty"` + Field32 int64 `json:"field_32,omitempty"` + Field33 string `json:"field_33,omitempty"` + Field34 int64 `json:"field_34,omitempty"` + Field35 []int64 `json:"field_35,omitempty"` + Field36 map[string]string `json:"field_36,omitempty"` + Field37 int32 `json:"field_37,omitempty"` + Field38 []int64 `json:"field_38,omitempty"` + Field39 map[string]int32 `json:"field_39,omitempty"` + Field40 map[string]HugeStruct4 `json:"field_40,omitempty"` + Field41 []string `json:"field_41,omitempty"` + Field42 int32 `json:"field_42,omitempty"` + Field43 []bool `json:"field_43,omitempty"` + Field44 []string `json:"field_44,omitempty"` + Field45 int32 `json:"field_45,omitempty"` + Field46 []HugeStruct2 `json:"field_46,omitempty"` + Field47 []HugeStruct4 `json:"field_47,omitempty"` + Field48 []bool `json:"field_48,omitempty"` + Field49 bool `json:"field_49,omitempty"` + Field50 []string `json:"field_50,omitempty"` + Field51 map[string]string `json:"field_51,omitempty"` + Field52 map[string]bool `json:"field_52,omitempty"` + Field53 []bool `json:"field_53,omitempty"` + Field54 []string `json:"field_54,omitempty"` + Field55 map[string]HugeStruct0 `json:"field_55,omitempty"` + Field56 map[string]int64 `json:"field_56,omitempty"` + Field57 bool `json:"field_57,omitempty"` } type HugeStruct6 struct { - Field0 map[string]*string `json:"field_0,omitempty"` - Field1 *int64 `json:"field_1,omitempty"` - Field2 *HugeStruct4 `json:"field_2,omitempty"` - Field3 []*string `json:"field_3,omitempty"` - Field4 *HugeStruct5 `json:"field_4,omitempty"` - Field5 *int32 `json:"field_5,omitempty"` - Field6 []*int32 `json:"field_6,omitempty"` - Field7 map[string]*int32 `json:"field_7,omitempty"` - Field8 []*bool `json:"field_8,omitempty"` - Field9 *string `json:"field_9,omitempty"` - Field10 map[string]*bool `json:"field_10,omitempty"` - Field11 *int64 `json:"field_11,omitempty"` - Field12 map[string]*bool `json:"field_12,omitempty"` - Field13 []*HugeStruct5 `json:"field_13,omitempty"` + Field0 map[string]string `json:"field_0,omitempty"` + Field1 int64 `json:"field_1,omitempty"` + Field2 HugeStruct4 `json:"field_2,omitempty"` + Field3 []string `json:"field_3,omitempty"` + Field4 HugeStruct5 `json:"field_4,omitempty"` + Field5 int32 `json:"field_5,omitempty"` + Field6 []int32 `json:"field_6,omitempty"` + Field7 map[string]int32 `json:"field_7,omitempty"` + Field8 []bool `json:"field_8,omitempty"` + Field9 string `json:"field_9,omitempty"` + Field10 map[string]bool `json:"field_10,omitempty"` + Field11 int64 `json:"field_11,omitempty"` + Field12 map[string]bool `json:"field_12,omitempty"` + Field13 []HugeStruct5 `json:"field_13,omitempty"` } diff --git a/issue_test/issue3_test.go b/issue_test/issue3_test.go index a9469aeab..5cc3529a5 100644 --- a/issue_test/issue3_test.go +++ b/issue_test/issue3_test.go @@ -34,7 +34,9 @@ func TestIssue3_Encode(t *testing.T) { func TestIssue3_Decode(t *testing.T) { var v HugeStruct6 - err := Unmarshal([]byte(`{}`), &v) + out, err := json.Marshal(&v) + assert.Nil(t, err) + err = Unmarshal(out, &v) assert.Nil(t, err) assert.Equal(t, HugeStruct6{}, v) } diff --git a/option/option.go b/option/option.go index 71527cdf0..e418530b8 100644 --- a/option/option.go +++ b/option/option.go @@ -26,10 +26,12 @@ var ( // CompileOptions includes all options for encoder or decoder compiler. type CompileOptions struct { - // the maximum depth for compilation inline + // the maximum depth for compilation inline, should be larger than zero. + // If zero, it will use the default value. MaxInlineDepth int - // the loop times for recursively pretouch + // the loop times for recursively pretouch, should be larger than zero. + // If zero, it will use the default value. RecursiveDepth int } @@ -67,6 +69,9 @@ func WithCompileRecursiveDepth(loop int) CompileOption { if loop < 0 { panic("loop must be >= 0") } + if loop == 0 { + loop = DefaultRecursiveDepth + } o.RecursiveDepth = loop } } @@ -80,6 +85,9 @@ func WithCompileMaxInlineDepth(depth int) CompileOption { if depth <= 0 { panic("depth must be > 0") } + if depth == 0 { + depth = DefaultRecursiveDepth + } o.MaxInlineDepth = depth } }