JSON মার্শাল এর সাথে ছোট হাতের নাম JSON কী নাম




go marshalling (2)

আমি আমার অ্যাপ্লিকেশনের আমদানিকৃত প্যাকেজগুলিতে ঘোষিত একটি স্ট্রিং মার্শাল করতে "encoding/json" প্যাকেজটি ব্যবহার করতে চাই।

যেমন .:

type T struct {
    Foo int
}

যেহেতু এটি আমদানি করা হয়, স্ট্রাকচারের সমস্ত উপলব্ধ (রপ্তানি করা) ক্ষেত্রগুলি উচ্চতর অক্ষরের সাথে শুরু হয়। কিন্তু আমি নিম্ন কেস কী নাম থাকতে চান:

out, err := json.Marshal(&T{Foo: 42})

ফলাফল হবে

{ "Foo": 42}

কিন্তু আমি পেতে চাই

{ "Foo বিন্যাস": 42}

কিছু সহজ উপায় সমস্যা কাছাকাছি পেতে সম্ভব?


আপনি যে কীগুলি রপ্তানি করতে চান তার সাথে নিজের গঠন তৈরি করতে পারেন এবং ছোট হাতের নামগুলির জন্য উপযুক্ত জসন ট্যাগগুলি দিতে পারেন। তারপর আপনি JSON হিসাবে এটি এনকোডিং করার আগে আপনার পছন্দসই কাঠামো অনুলিপি করতে পারেন। অথবা যদি আপনি স্থানীয় স্ট্রাকচার নিয়ে বিরক্ত করতে না চান তবে আপনি সম্ভবত একটি map[string]interface{} এবং এটিকে এনকোড করতে পারেন।


encoding/json.Marshal জন্য ডক্সগুলি দেখুন। এটি জেনেটিক জson কীভাবে ফরম্যাট করা হয় তা নির্ধারণ করতে গঠন ক্ষেত্র ট্যাগগুলি ব্যবহার করে আলোচনা করে।

উদাহরণ স্বরূপ:

type T struct {
    FieldA int    `json:"field_a"`
    FieldB string `json:"field_b,omitempty"`
}

এটি নিম্নরূপ JSON জেনারেট করবে:

{
    "field_a": 1234,
    "field_b": "foobar"
}




marshalling