无法隐藏正确的JSON格式

时间:2016-02-04 05:57:12

标签: c# json xml

我需要将以下XML数据转换为有效的JSON格式

    <GroupCode>
        <PickType KeyType = "438">
            <R>
                <K>43800001</K>
                <D>data 1</D>
            </R>
            <R>
                <K>43800099</K>
                <D>data 2</D>
            </R>
            <R>
                <K>43800014</K>
                <D>data 3</D>
            </R>

        </PickType>
        <PickType KeyType = "439">
            <R>
                <K>43900001</K>
                <D>Data 1</D>
            </R>
            <R>
                <K>43900099</K>
                <D>Data 2</D>
            </R>
            <R>
                <K>43900023</K>
                <D>Data 3</D>
            </R>

        </PickType>
        <PickType KeyType = "440">
            <R>
                <K>44000001</K>
                <D>Data 1</D>
            </R>
            <R>
                <K>44000025</K>
                <D>Data 2</D>
            </R>
            <R>
                <K>44000024</K>
                <D>Data 3</D>
            </R>


        </PickType>
        <PickType KeyType = "441">
            <R>
                <K>44100001</K>
                <D>Data 1</D>
            </R>
            <R>
                <K>44100099</K>
                <D>data 2</D>
            </R>
            <R>
                <K>44100054</K>
                <D>Data 3</D>
            </R>
                </PickType>
    </GroupCode>

我编写了以下C#代码将其转换为JSON。 这个XML格式存储在数据库中的一列(数据类型CLOB)中,我正在读取c#,之后我正在尝试序列化XML数据,但我得到了无效的JSON格式。

    JavaScriptSerializer serial = new JavaScriptSerializer();
    string jArray = string.Empty;
    List<MainSubDetails> lstMainSubDetails = new List<MainSubDetails>();
    MainSubDetails getMainSubDetails;
    foreach (DataRow dRow in XmlMainSub.Rows) {
            getMainSubDetails = new MainSubDetails();
            getMainSubDetails.strResult = dRow["STRRESULT"].ToString();
            lstMainSubDetails.Add(getMainSubDetails);
    }
    objParamResult.ResultDt = serial.Serialize(lstMainSubDetails);

输出

[{"strResult":"\u003cGroupCode\u003e\u003cPickType KeyType=\"438\"\u003e\u003cR\u003e\u003cK\u003e43800001\u003c/K\u003e\u003cD\u003eResident Demand Deposit\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43800099\u003c/K\u003e\u003cD\u003eNot Applicable\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43800014\u003c/K\u003e\u003cD\u003eCash\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43800012\u003c/K\u003e\u003cD\u003eIncome and Expenditure\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43800011\u003c/K\u003e\u003cD\u003eOther Liabilities\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43800010\u003c/K\u003e\u003cD\u003eOther Assets\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43800009\u003c/K\u003e\u003cD\u003eBankers\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43800008\u003c/K\u003e\u003cD\u003eBar\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43800007\u003c/K\u003e\u003cD\u003eDD\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43800006\u003c/K\u003e\u003cD\u003eHO\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43800005\u003c/K\u003e\u003cD\u003eAdvance\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43800004\u003c/K\u003e\u003cD\u003eInvestments\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43800003\u003c/K\u003e\u003cD\u003eBills\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43800002\u003c/K\u003e\u003cD\u003eResident Term Deposit\u003c/D\u003e\u003c/R\u003e\u003c/PickType\u003e\u003cPickType KeyType=\"439\"\u003e\u003cR\u003e\u003cK\u003e43900001\u003c/K\u003e\u003cD\u003eDemand Deposit - Individual\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43900099\u003c/K\u003e\u003cD\u003eNot Applicable\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK\u003e43900023\u003c/K\u003e\u003cD\u003eAdvances-LT\u003c/D\u003e\u003c/R\u003e\u003cR\u003e\u003cK}]

预期输出:

{
  "GroupCode": {
    "PickType": [
      {
        "-KeyType": "438",
        "R": [
          {
            "K": "43800001",
            "D": "data 1"
          },
          {
            "K": "43800099",
            "D": "data 2"
          },
          {
            "K": "43800014",
            "D": "data 3"
          }
        ]
      },
      {
        "-KeyType": "439",
        "R": [
          {
            "K": "43900001",
            "D": "Data 1"
          },
          {
            "K": "43900099",
            "D": "Data 2"
          },
          {
            "K": "43900023",
            "D": "Data 3"
          }
        ]
      },
      {
        "-KeyType": "440",
        "R": [
          {
            "K": "44000001",
            "D": "Data 1"
          },
          {
            "K": "44000025",
            "D": "Data 2"
          },
          {
            "K": "44000024",
            "D": "Data 3"
          }
        ]
      },
      {
        "-KeyType": "441",
        "R": [
          {
            "K": "44100001",
            "D": "Data 1"
          },
          {
            "K": "44100099",
            "D": "data 2"
          },
          {
            "K": "44100054",
            "D": "Data 3"
          }
        ]
      }
    ]
  }
}

0 个答案:

没有答案