c#JSON转换工具

时间:2018-05-23 21:38:00

标签: c# json json.net

我很难找到转换此JSON的工具:

{  
    "event":"subscribe",
    "feed":"ticker_lite",
    "product_ids":[  
        "FI_XBTUSD_180921",
        "FV_XRPXBT_180615"
    ]
}

以下列格式输入我的c#代码:{\“.... \”:\“.... \”}

c#中的示例:

  var subMsg = "{\"type\": \"subscribe\",\"product_ids\": [\"BTC-EUR\"],\"channels\": [\"matches\"]}";
抱歉这个基本问题,我是json的新人。 也许JSON.net可以帮助我,但我找不到合适的工具。 谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

看起来您只需要将JSON字符串反序列化为C#对象。 反序列化意味着将JSON结构转换为可以使用的C#对象。 C#具有内置函数来执行此操作。

另一方面,你的c#代码对我来说更像是javascript。

请查看以下内容:

https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-serialize-and-deserialize-json-data

答案 1 :(得分:0)

看起来您似乎需要将此JSON对象转换为字符串,并转义引号。下面的代码是HTML中的所有Javascript,它以您需要的格式输出subMsg:

<!DOCTYPE html>

<html>
<head>
    <meta charset="utf-8" />
    <title>test</title>

    <script>


        var myJsonObj = {
            "event": "subscribe",
            "feed": "ticker_lite",
            "product_ids": [
                "FI_XBTUSD_180921",
                "FV_XRPXBT_180615"
            ]
        }


        function escapeJSON(jsonObj) {

            var strJsonObj = JSON.stringify(jsonObj);
            alert("Was: " + strJsonObj);

            strJsonObj = strJsonObj.replace(/\"/g, "\\\"");
            alert("Now: " + strJsonObj);
            return strJsonObj;
        }

        var subMsg = escapeJSON(myJsonObj);
        alert("subMsg is: " + subMsg);

    </script>
</head>
<body>

</body>
</html>