Vincent
1
public class ABC()
{
public string A { get; set; }
[JsonIgnore]
public string B { get; set; }
}
ABC abc = new();
abc.A = "2PM";
abc.B = "μλΉλ°±";
string serializedStr = JsonConvert.SerializeObject(abc);
Console.WriteLine(serializedStr);
μ μ½λμ μ€ν κ²°κ³Όλ‘ A μμ± κ°μ λν΄μλ§ μ§λ ¬νλκ³ μΆλ ₯μ΄ λ κ²μ
λλ€.
νΉμ μΌμμ μΌλ‘ Aμ B μμ±μ λͺ¨λ μ§λ ¬ννκ³ μΆμ λ μ¬μ©νλ SerializeObject μ΅μ
μ΄ μκ±°λ, λ체 λ°©λ²μ΄ μμκΉμβ¦?
1κ°μ μ’μμ
Vincent
2
μλ΅ν©λλ€.
λ·λ·μ±ν
λ°© λ°λκ»μ μλ €μ£Όμ
¨μ΅λλ€.
2κ°μ μ’μμ
λμΌν μ§λ¬Έμ λν μ€νμ€λ²νλ‘μ° λ΅λ³μ΄ μμ΄ μ¬λ €λ립λλ€.
3κ°μ μ’μμ
νΉμ NewtonSoft μ JSON λ§κ³ μμ C#μ System.Text.Json μμλ κ°λ₯ν λ°©λ²μ μκ³ κ³μ€κΉμ??
2κ°μ μ’μμ
Vincent
5
μβ¦μλμ μ λͺ¨λ₯΄κ² μ΅λλ€. System.Text.Jsonμ λ€λ€λ³΄μ§ μμμ΅λλ€β¦γ
γ
1κ°μ μ’μμ
System.Text.Json μμλ μμ λμΌ νμ§ μμ§λ§
λ€μκ³Ό κ°μ΄ μ§λ ¬νλ₯Ό 무μ§ν μ§, λλ κΈ°λ³Έμ μΌλ‘ μ ν΄μ§ κ·μΉμ μκ±°ν΄ νμ© ν μ§
[JsonIgnore] νΉμ±μ Condition μμ±μΌλ‘ μ 곡 ν©λλ€.
How to ignore properties with System.Text.Json | Microsoft Learn
Never : νμ μ§λ ¬ν νμ©
WhenWritingNull : nullμΈ κ²½μ° λ¬΄μ
μΈ λͺκ°μ§ μμ±μ΄ μμ΅λλ€.
λν λ·λ· μ΅μ νκ²½μ μ¬μ© νμ λ€λ©΄
.NET 7 λΆν° NewtonSoftμ ContractResolver μ λΉμ·ν κΈ°λ₯μΌλ‘
JSON μ¬μ©μ κ³μ½ ꡬνμ μ 곡 ν©λλ€. - Custom serialization and deserialization contracts | Microsoft Learn
μ κΈ°λ₯μΌλ‘ νΉμ μ΄λ¦μ΄λ νμ, κ°μ κ°μ§ μμ±μ μ§λ ¬ν 무μ μ²λ¦¬ λ± μ§μ ꡬνμ μ 곡 ν©λλ€.
5κ°μ μ’μμ