μjson – حداقل تجزیه کننده و ترانسفورماتور JSON در Go

عکس پروفایل نویسنده

@olvrngالیور ن

سازنده نرم افزار متخصص در JavaScript و Go

μjson حداقل تجزیه کننده و ترانسفورماتور JSON است که روی آن کار می کند JSON بدون ساختار (و قابل اعتماد). هنگام تجزیه و تحلیل ورودی و فراخوانی عملکرد برگشتی داده شده هنگام مواجه شدن با هر مورد ، کار می کند.

انگیزه

گاهی اوقات ما فقط می خواهیم در سند JSON تغییرات جزئی ایجاد کنیم یا برخی تغییرات اساسی را بدون حذف کامل آن انجام دهیم. به عنوان مثال ، حذف کلیدهای لیست سیاه از پاسخ JSON. چرا باید تمام هزینه ها را برای unmarshalling در یک هزینه کرد

map[string]interface{}

فقط بلافاصله دوباره آن را مارشال کنید. کد زیر از StackOverflow گرفته شده است:

{
  "responseHeader": {
    "status": 0,
    "QTime": 0,
    "params": {
      "q": "solo",
      "wt": "json"
    }
  },
  "response": {
    "numFound": 2,
    "start": 0,
    "docs": [
      { "name": "foo" },
      { "name": "bar" }
    ]
  }
}

با استفاده از μjson ، می توانیم به سرعت یک تغییر شکل ساده برای حذف بنویسیم

"responseHeader"

کاملاً از همه پاسخ ها ، یک بار و برای همیشه. بعداً بیشتر در این باره

سناریوی اصلی که من را به نوشتن بسته راهنمایی می کند به دلیل همین است int64. هنگام کار در Go و PostgreSQL ، از آن استفاده می کنم int64 (بجای رشته) برای شناسه ها زیرا موثرتر است و فضای زیادی برای شناسه های تولید شده به طور تصادفی دارد. به اندازه UUID نیست ، 128 بیت ، …

سئو PBN | خبر های جدید سئو و هک و سرور