xslt를 사용하여 중첩 된 Json 객체를 XML로 변환하는 방법

Vaibhav 저장
<root><dataResponse>{"status":"C","responseCode":200,"description":"Success","resultsInformation":[{"sourceSystemAppID":"8257000008880","sourceSystemCustomerID":"82570000021453","sourceSystemName":"FINCOR","customerType":"AI","recordType":"INPUT","name":"TAMIZHARASI  M  ","employerName":"","dateOfBirth":"08-10-1977","panNo":"","voterID":"GSDF2613891","passportNo":"","drivingLicense":"","aadhaarNumber":"","gstNumber":"","registrationORCINNo":"","rationCard":"","nregaCard":"","nationalIdNo":"","tanNo":"","gender":"F","addressInformation":[{"addressType":"ressAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM  ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"},{"addressType":"permAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM   ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"},{"addressType":"permAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM   ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"}],"emailInformation":[{"emailType":"ressEmail","emailID":""}],"contactInformation":[{"phoneType":"offPhone","phone":""},{"phoneType":"mobile","phone":"9659306719"},{"phoneType":"ressPhone","phone":""}],"ckycNumber":"","chassisNumber":"","engineNumber":"","vehicleRegistrationNo":"","remarks":""},{"sourceSystemAppID":"0000","sourceSystemCustomerID":"82570000021453","sourceSystemName":"FINCOR","customerType":"AI","recordType":"ONLINE","name":"TAMIZHARASI  M  ","employerName":"","dateOfBirth":"08-10-1977","panNo":"","voterID":"FEF2613891","passportNo":"","drivingLicense":"","aadhaarNumber":"","gstNumber":"","registrationORCINNo":"","rationCard":"","nregaCard":"","nationalIdNo":"","tanNo":"","gender":"F","addressInformation":[{"addressType":"ressAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM  ","city":"","state":"TAMILNADU","pincode":"607802"},{"addressType":"offAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM  ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"},{"addressType":"offAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM  ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"}],"emailInformation":[{"emailType":"others","emailID":""}],"contactInformation":[{"phoneType":"offPhone","phone":""},{"phoneType":"ressPhone","phone":""},{"phoneType":"mobile","phone":"999999999"}],"ckycNumber":"","chassisNumber":"","engineNumber":"","vehicleRegistrationNo":"","remarks":""},{"sourceSystemAppID":"3181919","sourceSystemCustomerID":"1","sourceSystemName":"FINCOR","customerType":"AI","recordType":"ONLINE","name":"TAMIZHARASI  M  ","employerName":"","dateOfBirth":"08-10-1977","panNo":"","voterID":"GFG2613891","passportNo":"","drivingLicense":"","aadhaarNumber":"","gstNumber":"","registrationORCINNo":"","rationCard":"","nregaCard":"","nationalIdNo":"","tanNo":"","gender":"F","addressInformation":[{"addressType":"ressAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM  ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"},{"addressType":"offAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM  ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"},{"addressType":"offAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM  ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"}],"emailInformation":[{"emailType":"ressEmail","emailID":""}],"contactInformation":[{"phoneType":"offPhone","phone":""},{"phoneType":"ressPhone","phone":""},{"phoneType":"mobile","phone":"999999999"}],"ckycNumber":"","chassisNumber":"","engineNumber":"","vehicleRegistrationNo":"","remarks":""},{"sourceSystemAppID":"3181919","sourceSystemCustomerID":"358166","sourceSystemName":"FINCOR","customerType":"AI","recordType":"ONLINE","name":"TAMIZHARASI  M  ","employerName":"","dateOfBirth":"08-10-1977","panNo":"","voterID":"EYT2613891","passportNo":"","drivingLicense":"","aadhaarNumber":"","gstNumber":"","registrationORCINNo":"","rationCard":"","nregaCard":"","nationalIdNo":"","tanNo":"","gender":"F","addressInformation":[{"addressType":"ressAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM  ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"},{"addressType":"offAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM  ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"},{"addressType":"offAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM  ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"}],"emailInformation":[{"emailType":"ressEmail","emailID":""}],"contactInformation":[{"phoneType":"offPhone","phone":""},{"phoneType":"ressPhone","phone":""},{"phoneType":"mobile","phone":"999999999"}],"ckycNumber":"","chassisNumber":"","engineNumber":"","vehicleRegistrationNo":"","remarks":""},{"sourceSystemAppID":"570000021422","sourceSystemCustomerID":"82570000021422","sourceSystemName":"BRNET","customerType":"AI","recordType":"ONLINE","name":"TAMIZHARASI  M","employerName":"","dateOfBirth":"10-08-1977","panNo":"","voterID":"TYR2613891","passportNo":"","drivingLicense":"","aadhaarNumber":"","gstNumber":"","registrationORCINNo":"","rationCard":"","nregaCard":"","nationalIdNo":"","tanNo":"","gender":"F","addressInformation":[{"addressType":"others","address":"pirni","city":"verna","state":"goa","pincode":"403722"}],"emailInformation":[{"emailType":"others","emailID":"[email protected]"}],"contactInformation":[{"phoneType":"mobile","phone":"999999999"}],"ckycNumber":"","chassisNumber":"","engineNumber":"","vehicleRegistrationNo":"","remarks":""},{"sourceSystemAppID":"570000021453","sourceSystemCustomerID":"82570000021452","sourceSystemName":"BRMF","customerType":"AI","recordType":"ONLINE","name":"TAMIZHARASI  M","employerName":"","dateOfBirth":"10-08-1977","panNo":"","voterID":"SGSG2613891","passportNo":"","drivingLicense":"","aadhaarNumber":"","gstNumber":"","registrationORCINNo":"","rationCard":"","nregaCard":"","nationalIdNo":"","tanNo":"","gender":"F","addressInformation":[{"addressType":"others","address":"pirni","city":"verna","state":"goa","pincode":"403722"}],"emailInformation":[{"emailType":"others","emailID":"[email protected]"}],"contactInformation":[{"phoneType":"mobile","phone":"999999999"}],"ckycNumber":"","chassisNumber":"","engineNumber":"","vehicleRegistrationNo":"","remarks":""},{"sourceSystemAppID":"570000021453","sourceSystemCustomerID":"82570000021453","sourceSystemName":"BRMF","customerType":"AI","recordType":"ONLINE","name":"TAMIZHARASI  M","employerName":"","dateOfBirth":"10-08-1977","panNo":"","voterID":"TYR2613891","passportNo":"","drivingLicense":"","aadhaarNumber":"","gstNumber":"","registrationORCINNo":"","rationCard":"","nregaCard":"","nationalIdNo":"","tanNo":"","gender":"F","addressInformation":[{"addressType":"others","address":"pirni","city":"verna","state":"goa","pincode":"403722"}],"emailInformation":[{"emailType":"others","emailID":"[email protected]"}],"contactInformation":[{"phoneType":"mobile","phone":"9999999999"}],"ckycNumber":"","chassisNumber":"","engineNumber":"","vehicleRegistrationNo":"","remarks":""},{"sourceSystemAppID":"82570000021453","sourceSystemCustomerID":"82570000021453","sourceSystemName":"BRMF","customerType":"AI","recordType":"ONLINE","name":"TAMIZHARASI  M","employerName":"","dateOfBirth":"10-08-1977","panNo":"","voterID":"Gtyv2613891","passportNo":"","drivingLicense":"","aadhaarNumber":"","gstNumber":"","registrationORCINNo":"","rationCard":"","nregaCard":"","nationalIdNo":"","tanNo":"","gender":"F","addressInformation":[{"addressType":"others","address":"pirni","city":"verna","state":"goa","pincode":"403722"}],"emailInformation":[{"emailType":"others","emailID":"[email protected]"}],"contactInformation":[{"phoneType":"mobile","phone":"9999999999"}],"ckycNumber":"","chassisNumber":"","engineNumber":"","vehicleRegistrationNo":"","remarks":""},{"sourceSystemAppID":"82570000021453","sourceSystemCustomerID":"82570000021856","sourceSystemName":"BRMF","customerType":"AI","recordType":"ONLINE","name":"TAMIZHARASI  M","employerName":"","dateOfBirth":"10-08-1977","panNo":"","voterID":"YRV2613891","passportNo":"","drivingLicense":"","aadhaarNumber":"","gstNumber":"","registrationORCINNo":"","rationCard":"","nregaCard":"","nationalIdNo":"","tanNo":"","gender":"F","addressInformation":[],"emailInformation":[],"contactInformation":[{"phoneType":"mobile","phone":"999999999"}],"ckycNumber":"","chassisNumber":"","engineNumber":"","vehicleRegistrationNo":"","remarks":""},{"sourceSystemAppID":"8257000008881","sourceSystemCustomerID":"82570000021454","sourceSystemName":"FINCOR","customerType":"AI","recordType":"ONLINE","name":"TAMIZHARASI  M  ","employerName":"","dateOfBirth":"08-10-1977","panNo":"","voterID":"YRV2613891","passportNo":"","drivingLicense":"","aadhaarNumber":"","gstNumber":"","registrationORCINNo":"","rationCard":"","nregaCard":"","nationalIdNo":"","tanNo":"","gender":"F","addressInformation":[{"addressType":"ressAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM  ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"},{"addressType":"offAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM  ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"},{"addressType":"offAddr","address":"49/2 NEW KRISHNAPURAM UYYAKONDAVARI VIRUDHACHALAM  ","city":"VIRUDHACHALAM","state":"TAMILNADU","pincode":"607802"}],"emailInformation":[{"emailType":"ressEmail","emailID":""}],"contactInformation":[{"phoneType":"offPhone","phone":""},{"phoneType":"ressPhone","phone":""},{"phoneType":"mobile","phone":"999999999"}],"ckycNumber":"","chassisNumber":"","engineNumber":"","vehicleRegistrationNo":"","remarks":""}]}</dataResponse><message>Request Completed Successfully</message><statusCode>000</statusCode><status>Success</status></root>

이것은 내 XML 코드입니다. 지금까지 xslt 코드를 작성했습니다.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cs="urn:cs" xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0" exclude-result-prefixes="msxsl cs">
   <xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />
   <msxsl:script language="C#" implements-prefix="cs">
      <msxsl:assembly name="System.Web.Extensions" />
      <msxsl:using namespace="System.Collections.Generic" />
      <msxsl:using namespace="System.Web.Script.Serialization" />
      <![CDATA[public string getXMLFromJson(string jsonString){
      string resp="";
      var serializer = new JavaScriptSerializer();
      Dictionary<string, object> result = (serializer.DeserializeObject(jsonString) as Dictionary<string, object>);    
      foreach(string key in result.Keys){
        var newKey=key.Replace(" ","_");
        resp+="<"+newKey+">"+result[key]+"</"+newKey+">";
      }  
            return resp;
    }]]>
   </msxsl:script>
   <xsl:template match="@* | node()">
      <xsl:copy>
         <xsl:apply-templates select="@* | node()" />
      </xsl:copy>
   </xsl:template>
   <xsl:template match="root/dataResponse">
      <xsl:variable name="jstr">
         <xsl:value-of select="." />
      </xsl:variable>
      <dataResponse>
         <xsl:value-of select="cs:getXMLFromJson($jstr)" disable-output-escaping="yes" />
      </dataResponse>
   </xsl:template>
</xsl:stylesheet>

중첩 된 개체 resultsInformation을 반복 할 수없고 addressInformation을 반복하여 xml로 변환 할 수 없습니다. 현재 출력은 아래와 같습니다.

    <root>
  <dataResponse><status>C</status><responseCode>200</responseCode><description>Success</description><resultsInformation>System.Object[]</resultsInformation></dataResponse>
  <message>Request Completed Successfully</message>
  <statusCode>000</statusCode>
  <status>Success</status>
</root>
Xanatos

Json.Net을 사용할 수 있다면 한 줄짜리가됩니다.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cs="urn:cs" xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0" exclude-result-prefixes="msxsl cs">
    <xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />
    <xsl:strip-space elements="*"/>
    <msxsl:script language="C#" implements-prefix="cs">
        <msxsl:assembly name="System.Xml.Linq" />
        <msxsl:using namespace="Newtonsoft.Json" />
        <msxsl:assembly name="Newtonsoft.Json" />
        <msxsl:using namespace="System.Xml.Linq" />
        <![CDATA[
        public static XPathNavigator getXMLFromJson(string jsonString)
        {
            var xml = JsonConvert.DeserializeXmlNode(jsonString, "dataResponse");
            return xml.CreateNavigator();
        }
        ]]>
    </msxsl:script>
    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()" />
        </xsl:copy>
    </xsl:template>
    <xsl:template match="root/dataResponse">
        <xsl:copy-of select="cs:getXMLFromJson(.)" />
    </xsl:template>
</xsl:stylesheet>

내가 추가했습니다

<xsl:strip-space elements="*"/>

결과 xml의 형식을 올바르게 지정합니다.

Json.Net이 없으면 훨씬 더 복잡합니다 (모든 코너 케이스가 다뤄지는지 확실하지 않습니다).

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cs="urn:cs" xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0" exclude-result-prefixes="msxsl cs">
    <xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />
    <xsl:strip-space elements="*"/>
    <msxsl:script language="C#" implements-prefix="cs">
        <msxsl:assembly name="System.Core" />
        <msxsl:assembly name="System.Xml.Linq" />
        <msxsl:assembly name="System.Web.Extensions" />
        <msxsl:using namespace="System.Collections.Generic" />
        <msxsl:using namespace="System.Linq" />
        <msxsl:using namespace="System.Xml.Linq" />
        <msxsl:using namespace="System.Web.Script.Serialization" />
        <![CDATA[
            public static XPathNavigator XmlFromJson(string root, string json)
            {
                var jss = new JavaScriptSerializer();
                var xml = ToXElement(root, (IDictionary<string, object>)jss.DeserializeObject(json));
                return xml.CreateNavigator();
            }

            public static XElement ToXElement(string name, IDictionary<string, object> coll)
            {
                if (coll == null)
                {
                    return new XElement(name, null);
                }

                return new XElement(
                    name,
                    coll.Select(x =>
                        x.Value is IDictionary<string, object> ? new[] { ToXElement(x.Key, (IDictionary<string, object>)x.Value) } :
                        x.Value is object[]? ToXElement(x.Key, (object[])x.Value) :
                        new[] { new XElement(x.Key, x.Value) }
                    ).SelectMany(x => x)
                    .ToArray());
            }

            public static XElement[] ToXElement(string name, object[] coll)
            {
                if (coll == null)
                {
                    return new[] { new XElement(name, null) };
                }

                return Array.ConvertAll(coll, x =>
                    x is IDictionary<string, object> ? ToXElement(name, (IDictionary<string, object>)x) :
                    x is object[]? new XElement(name, ToXElement(name, (object[])x)) :
                    new XElement(name, x)
                );
            }
        ]]>
    </msxsl:script>
    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()" />
        </xsl:copy>
    </xsl:template>
    <xsl:template match="root/dataResponse">
        <xsl:copy-of select='cs:XmlFromJson("dataResponse", .)' />
    </xsl:template>
</xsl:stylesheet>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Delphi 10.1 Berlin에서 중첩 된 객체를 Json으로 변환하는 방법

분류에서Dev

java rdf4j를 사용하여 RDF를 꽤 중첩 된 JSON으로 변환하는 방법

분류에서Dev

중첩 된 객체를 JSON의 JSON 문자열로 변환하는 등의 방법으로 중첩 된 JSON을 방지 할 수 있습니까?

분류에서Dev

중첩 된 JSON 개체를 사용하여 SQLDataReader 결과를 JSON으로 변환

분류에서Dev

중첩 된 OrderedDict를 개체로 변환하는 방법

분류에서Dev

Play JSON을 사용하여 중첩 된 스칼라 객체를 JSON 문자열로 변환

분류에서Dev

Jackson Java를 사용하여 중첩 된 JSON으로 CSV를 읽는 방법

분류에서Dev

중첩 된 객체의 필드 중 하나를 기반으로 중첩 된 JSON 객체를 기본 유형으로 역 직렬화하는 방법

분류에서Dev

중첩 된 Json 객체 / 배열을 키를 모르고 동적으로 키를 기반으로 여러 목록으로 변환하는 방법

분류에서Dev

setState로 중첩 된 객체 중 하나를 변경하는 방법

분류에서Dev

XSLT를 사용하여 중첩 된 XML에서 CSV로 (고급)

분류에서Dev

RestKit을 사용하여 중첩 된 JSON 객체를 Core Data에 저장하는 방법

분류에서Dev

중첩 된 XML 요소를 플랫 XML로 변환하는 방법

분류에서Dev

중첩 된 객체를 사용하여 ng-repeat의 데이터를 각도 js의 JSON 데이터로 주문하는 방법

분류에서Dev

Gson을 사용하여 중첩 된 JSON 객체에서 데이터를 가져 오는 방법

분류에서Dev

XSLT를 사용하여 이미 변환 된 XML을 변환하는 방법

분류에서Dev

중첩 된 json 요소를 변수로 삭제하는 방법

분류에서Dev

Google Apps Script를 사용하여 플랫 JSON 배열을 중첩 된 JSON으로 변환하는 방법은 무엇입니까?

분류에서Dev

중첩 된 avro GenericRecord를 행으로 변환하는 방법

분류에서Dev

양식 패널 제출시 중첩 된 JSON 데이터를 Java 객체로 변환하는 방법은 무엇입니까?

분류에서Dev

Mongodb : 중첩 된 객체 배열 내에서 필드를 변환하는 방법

분류에서Dev

중첩 된 switch 문을 사용하여 숫자를 0-9999 범위의 단어로 변환하는 방법

분류에서Dev

if 조건을 사용하여 중첩 된 for 루프를 LINQ로 변환하는 방법

분류에서Dev

jq를 사용하여 중첩 된 객체 배열 변환

분류에서Dev

Postgres에서 중첩 된 JSON의 객체를 쿼리하는 방법

분류에서Dev

중첩 된 json 객체를 스프링 mvc에 저장하는 방법

분류에서Dev

Spark에 중첩 된 Json 객체를 구문 분석하는 방법

분류에서Dev

잭슨를 사용하여 중첩 된 JSON 객체의 배열을 변경

분류에서Dev

Ramda 또는 vanillaJS를 사용하여 임의로 깊이 중첩 된 값을 객체 키로 변환

Related 관련 기사

  1. 1

    Delphi 10.1 Berlin에서 중첩 된 객체를 Json으로 변환하는 방법

  2. 2

    java rdf4j를 사용하여 RDF를 꽤 중첩 된 JSON으로 변환하는 방법

  3. 3

    중첩 된 객체를 JSON의 JSON 문자열로 변환하는 등의 방법으로 중첩 된 JSON을 방지 할 수 있습니까?

  4. 4

    중첩 된 JSON 개체를 사용하여 SQLDataReader 결과를 JSON으로 변환

  5. 5

    중첩 된 OrderedDict를 개체로 변환하는 방법

  6. 6

    Play JSON을 사용하여 중첩 된 스칼라 객체를 JSON 문자열로 변환

  7. 7

    Jackson Java를 사용하여 중첩 된 JSON으로 CSV를 읽는 방법

  8. 8

    중첩 된 객체의 필드 중 하나를 기반으로 중첩 된 JSON 객체를 기본 유형으로 역 직렬화하는 방법

  9. 9

    중첩 된 Json 객체 / 배열을 키를 모르고 동적으로 키를 기반으로 여러 목록으로 변환하는 방법

  10. 10

    setState로 중첩 된 객체 중 하나를 변경하는 방법

  11. 11

    XSLT를 사용하여 중첩 된 XML에서 CSV로 (고급)

  12. 12

    RestKit을 사용하여 중첩 된 JSON 객체를 Core Data에 저장하는 방법

  13. 13

    중첩 된 XML 요소를 플랫 XML로 변환하는 방법

  14. 14

    중첩 된 객체를 사용하여 ng-repeat의 데이터를 각도 js의 JSON 데이터로 주문하는 방법

  15. 15

    Gson을 사용하여 중첩 된 JSON 객체에서 데이터를 가져 오는 방법

  16. 16

    XSLT를 사용하여 이미 변환 된 XML을 변환하는 방법

  17. 17

    중첩 된 json 요소를 변수로 삭제하는 방법

  18. 18

    Google Apps Script를 사용하여 플랫 JSON 배열을 중첩 된 JSON으로 변환하는 방법은 무엇입니까?

  19. 19

    중첩 된 avro GenericRecord를 행으로 변환하는 방법

  20. 20

    양식 패널 제출시 중첩 된 JSON 데이터를 Java 객체로 변환하는 방법은 무엇입니까?

  21. 21

    Mongodb : 중첩 된 객체 배열 내에서 필드를 변환하는 방법

  22. 22

    중첩 된 switch 문을 사용하여 숫자를 0-9999 범위의 단어로 변환하는 방법

  23. 23

    if 조건을 사용하여 중첩 된 for 루프를 LINQ로 변환하는 방법

  24. 24

    jq를 사용하여 중첩 된 객체 배열 변환

  25. 25

    Postgres에서 중첩 된 JSON의 객체를 쿼리하는 방법

  26. 26

    중첩 된 json 객체를 스프링 mvc에 저장하는 방법

  27. 27

    Spark에 중첩 된 Json 객체를 구문 분석하는 방법

  28. 28

    잭슨를 사용하여 중첩 된 JSON 객체의 배열을 변경

  29. 29

    Ramda 또는 vanillaJS를 사용하여 임의로 깊이 중첩 된 값을 객체 키로 변환

뜨겁다태그

보관