আমি গোতে একটি এপিআই তৈরি করেছি যা বলা হওয়ার পরে, একটি কোয়েরি সম্পাদন করে, একটি কাঠামোর একটি উদাহরণ তৈরি করে এবং তারপরে কলারে ফেরত পাঠানোর আগে সেই স্ট্রোকটিকে JSON হিসাবে এনকোড করে দেয়। আমি এখন কলারকে "ক্ষেত্রগুলি" জিইটি প্যারামিটারে পাস করে যে নির্দিষ্ট ক্ষেত্রগুলি তারা ফেরত চাইবে তা চয়ন করতে সক্ষম হতে চাই।
এর অর্থ ক্ষেত্রের মান (গুলি) এর উপর নির্ভর করে আমার স্ট্রাক্ট পরিবর্তন হবে। কাঠামো থেকে ক্ষেত্রগুলি সরানোর কোনও উপায় আছে কি? অথবা অন্তত গতিশীলভাবে JSON প্রতিক্রিয়া এগুলি লুকান? (দ্রষ্টব্য: মাঝে মাঝে আমার খালি মূল্য থাকে তাই জেএসওএন অমিটেম্পি ট্যাগটি এখানে কাজ করবে না) যদি এগুলির দুটিও সম্ভব না হয় তবে এটি পরিচালনা করার জন্য আরও ভাল উপায়ের জন্য কোনও পরামর্শ থাকতে পারে? আগাম ধন্যবাদ.
আমি যে স্ট্র্টগুলি ব্যবহার করছি তার একটি ছোট সংস্করণ নীচে রয়েছে:
type SearchResult struct {
Date string `json:"date"`
IdCompany int `json:"idCompany"`
Company string `json:"company"`
IdIndustry interface{} `json:"idIndustry"`
Industry string `json:"industry"`
IdContinent interface{} `json:"idContinent"`
Continent string `json:"continent"`
IdCountry interface{} `json:"idCountry"`
Country string `json:"country"`
IdState interface{} `json:"idState"`
State string `json:"state"`
IdCity interface{} `json:"idCity"`
City string `json:"city"`
} //SearchResult
type SearchResults struct {
NumberResults int `json:"numberResults"`
Results []SearchResult `json:"results"`
} //type SearchResults
আমি তখন এনকোড করে আছি এবং প্রতিক্রিয়াটিকে এভাবে আউটপুট করি:
err := json.NewEncoder(c.ResponseWriter).Encode(&msg)