我以前从未见过这样的数据串。它由&#x
后跟一些base64字符组成。完整的字符串如下所示:
{"16":{"list_price_min_16":"MTUuOTk=","is_mapp_16":"Tg==","offer_price_max_16":"MTUuOTk=","is_part_onsale_16":"Tg==","offer_price_min_16":"MTUuOTk=","list_price_max_16":"MTUuOTk=","total_savings_16":"MC4w"},"27":{"is_part_onsale_27":"Tg==","list_price_max_27":"MTUuOTk=","offer_price_max_27":"MTUuOTk=","total_savings_27":"MC4w","is_mapp_27":"Tg==","offer_price_min_27":"MTUuOTk=","list_price_min_27":"MTUuOTk="},"45":{"list_price_min_45":"MTUuOTk=","offer_price_max_45":"MTUuOTk=","list_price_max_45":"MTUuOTk=","total_savings_45":"MC4w","offer_price_min_45":"MTUuOTk=","is_part_onsale_45":"Tg==","is_mapp_45":"Tg=="},"09":{"total_savings_09":"MC4w","is_part_onsale_09":"Tg==","offer_price_max_09":"MTUuOTk=","offer_price_min_09":"MTUuOTk=","list_price_max_09":"MTUuOTk=","is_mapp_09":"Tg==","list_price_min_09":"MTUuOTk="},"20":{"list_price_max_20":"MTcuOTk=","offer_price_min_20":"MTcuOTk=","is_part_onsale_20":"Tg==","is_mapp_20":"Tg==","total_savings_20":"MC4w","list_price_min_20":"MTcuOTk=","offer_price_max_20":"MTcuOTk="},"28":{"offer_price_min_28":"MTUuOTk=","list_price_min_28":"MTUuOTk=","total_savings_28":"MC4w","is_part_onsale_28":"Tg==","list_price_max_28":"MTUuOTk=","is_mapp_28":"Tg==","offer_price_max_28":"MTUuOTk="},"06":{"offer_price_max_06":"MTUuOTk=","list_price_max_06":"MTUuOTk=","offer_price_min_06":"MTUuOTk=","list_price_min_06":"MTUuOTk=","is_mapp_06":"Tg==","total_savings_06":"MC4w","is_part_onsale_06":"Tg=="},"24":{"list_price_max_24":"MTUuOTk=","is_part_onsale_24":"Tg==","total_savings_24":"MC4w","list_price_min_24":"MTUuOTk=","offer_price_min_24":"MTUuOTk=","offer_price_max_24":"MTUuOTk=","is_mapp_24":"Tg=="},"25":{"total_savings_25":"MC4w","offer_price_max_25":"MTUuOTk=","list_price_max_25":"MTUuOTk=","list_price_min_25":"MTUuOTk=","is_mapp_25":"Tg==","offer_price_min_25":"MTUuOTk=","is_part_onsale_25":"Tg=="},"29":{"list_price_min_29":"MTUuOTk=","total_savings_29":"MC4w","offer_price_min_29":"MTUuOTk=","offer_price_max_29":"MTUuOTk=","list_price_max_29":"MTUuOTk=","is_mapp_29":"Tg==","is_part_onsale_29":"Tg=="},"19":{"list_price_min_19":"MTUuOTk=","total_savings_19":"MC4w","offer_price_min_19":"MTUuOTk=","is_part_onsale_19":"Tg==","is_mapp_19":"Tg==","list_price_max_19":"MTUuOTk=","offer_price_max_19":"MTUuOTk="},"04":{"is_part_onsale_04":"Tg==","offer_price_min_04":"MTUuOTk=","list_price_max_04":"MTUuOTk=","is_mapp_04":"Tg==","offer_price_max_04":"MTUuOTk=","list_price_min_04":"MTUuOTk=","total_savings_04":"MC4w"},"12":{"is_part_onsale_12":"Tg==","total_savings_12":"MC4w","is_mapp_12":"Tg==","list_price_min_12":"MTUuOTk=","list_price_max_12":"MTUuOTk=","offer_price_min_12":"MTUuOTk=","offer_price_max_12":"MTUuOTk="},"46":{"list_price_min_46":"MTUuOTk=","list_price_max_46":"MTUuOTk=","total_savings_46":"MC4w","is_part_onsale_46":"Tg==","offer_price_min_46":"MTUuOTk=","offer_price_max_46":"MTUuOTk=","is_mapp_46":"Tg=="},"47":{"is_part_onsale_47":"Tg==","list_price_min_47":"MTUuOTk=","offer_price_max_47":"MTUuOTk=","total_savings_47":"MC4w","is_mapp_47":"Tg==","list_price_max_47":"MTUuOTk=","offer_price_min_47":"MTUuOTk="}}
我如何在.NET中对此进行解码?
答案 0 :(得分:3)
该字符串似乎是有效的JSON。您必须将编码的十六进制字符串转换为常规字符串。在这里:
string hexString = "YourEncodedHexString";
List<string> findhex = hexString.Split(new string[] { "&#", ";" }, StringSplitOptions.RemoveEmptyEntries).ToList();
StringBuilder sb = new StringBuilder();
foreach(string st in findhex)
{
if(st.Substring(0, 1) == "x")
{
string hs = st.Substring(1, 2);
sb.Append(Convert.ToChar(Convert.ToUInt32(hs, 16)));
}
else
{
sb.Append(st);
}
}
String ascii = sb.ToString();
Console.WriteLine(ascii);
格式化的输出将是:
{
"12": {
"is_part_onsale_12": "Tg==",
"total_savings_12": "MC4w",
"is_mapp_12": "Tg==",
"list_price_min_12": "MTUuOTk=",
"list_price_max_12": "MTUuOTk=",
"offer_price_min_12": "MTUuOTk=",
"offer_price_max_12": "MTUuOTk="
},
"16": {
"list_price_min_16": "MTUuOTk=",
"is_mapp_16": "Tg==",
"offer_price_max_16": "MTUuOTk=",
"is_part_onsale_16": "Tg==",
"offer_price_min_16": "MTUuOTk=",
"list_price_max_16": "MTUuOTk=",
"total_savings_16": "MC4w"
},
"19": {
"list_price_min_19": "MTUuOTk=",
"total_savings_19": "MC4w",
"offer_price_min_19": "MTUuOTk=",
"is_part_onsale_19": "Tg==",
"is_mapp_19": "Tg==",
"list_price_max_19": "MTUuOTk=",
"offer_price_max_19": "MTUuOTk="
},
"20": {
"list_price_max_20": "MTcuOTk=",
"offer_price_min_20": "MTcuOTk=",
"is_part_onsale_20": "Tg==",
"is_mapp_20": "Tg==",
"total_savings_20": "MC4w",
"list_price_min_20": "MTcuOTk=",
"offer_price_max_20": "MTcuOTk="
},
"24": {
"list_price_max_24": "MTUuOTk=",
"is_part_onsale_24": "Tg==",
"total_savings_24": "MC4w",
"list_price_min_24": "MTUuOTk=",
"offer_price_min_24": "MTUuOTk=",
"offer_price_max_24": "MTUuOTk=",
"is_mapp_24": "Tg=="
},
"25": {
"total_savings_25": "MC4w",
"offer_price_max_25": "MTUuOTk=",
"list_price_max_25": "MTUuOTk=",
"list_price_min_25": "MTUuOTk=",
"is_mapp_25": "Tg==",
"offer_price_min_25": "MTUuOTk=",
"is_part_onsale_25": "Tg=="
},
"27": {
"is_part_onsale_27": "Tg==",
"list_price_max_27": "MTUuOTk=",
"offer_price_max_27": "MTUuOTk=",
"total_savings_27": "MC4w",
"is_mapp_27": "Tg==",
"offer_price_min_27": "MTUuOTk=",
"list_price_min_27": "MTUuOTk="
},
"28": {
"offer_price_min_28": "MTUuOTk=",
"list_price_min_28": "MTUuOTk=",
"total_savings_28": "MC4w",
"is_part_onsale_28": "Tg==",
"list_price_max_28": "MTUuOTk=",
"is_mapp_28": "Tg==",
"offer_price_max_28": "MTUuOTk="
},
"29": {
"list_price_min_29": "MTUuOTk=",
"total_savings_29": "MC4w",
"offer_price_min_29": "MTUuOTk=",
"offer_price_max_29": "MTUuOTk=",
"list_price_max_29": "MTUuOTk=",
"is_mapp_29": "Tg==",
"is_part_onsale_29": "Tg=="
},
"45": {
"list_price_min_45": "MTUuOTk=",
"offer_price_max_45": "MTUuOTk=",
"list_price_max_45": "MTUuOTk=",
"total_savings_45": "MC4w",
"offer_price_min_45": "MTUuOTk=",
"is_part_onsale_45": "Tg==",
"is_mapp_45": "Tg=="
},
"46": {
"list_price_min_46": "MTUuOTk=",
"list_price_max_46": "MTUuOTk=",
"total_savings_46": "MC4w",
"is_part_onsale_46": "Tg==",
"offer_price_min_46": "MTUuOTk=",
"offer_price_max_46": "MTUuOTk=",
"is_mapp_46": "Tg=="
},
"47": {
"is_part_onsale_47": "Tg==",
"list_price_min_47": "MTUuOTk=",
"offer_price_max_47": "MTUuOTk=",
"total_savings_47": "MC4w",
"is_mapp_47": "Tg==",
"list_price_max_47": "MTUuOTk=",
"offer_price_min_47": "MTUuOTk="
},
"09": {
"total_savings_09": "MC4w",
"is_part_onsale_09": "Tg==",
"offer_price_max_09": "MTUuOTk=",
"offer_price_min_09": "MTUuOTk=",
"list_price_max_09": "MTUuOTk=",
"is_mapp_09": "Tg==",
"list_price_min_09": "MTUuOTk="
},
"06": {
"offer_price_max_06": "MTUuOTk=",
"list_price_max_06": "MTUuOTk=",
"offer_price_min_06": "MTUuOTk=",
"list_price_min_06": "MTUuOTk=",
"is_mapp_06": "Tg==",
"total_savings_06": "MC4w",
"is_part_onsale_06": "Tg=="
},
"04": {
"is_part_onsale_04": "Tg==",
"offer_price_min_04": "MTUuOTk=",
"list_price_max_04": "MTUuOTk=",
"is_mapp_04": "Tg==",
"offer_price_max_04": "MTUuOTk=",
"list_price_min_04": "MTUuOTk=",
"total_savings_04": "MC4w"
}
}
而实际未触及的输出将是:
{"16":{"list_price_min_16":"MTUuOTk=","is_mapp_16":"Tg==","offer_price_max_16":"MTUuOTk=","is_part_onsale_16":"Tg==","offer_price_min_16":"MTUuOTk=","list_price_max_16":"MTUuOTk=","total_savings_16":"MC4w"},"27":{"is_part_onsale_27":"Tg==","list_price_max_27":"MTUuOTk=","offer_price_max_27":"MTUuOTk=","total_savings_27":"MC4w","is_mapp_27":"Tg==","offer_price_min_27":"MTUuOTk=","list_price_min_27":"MTUuOTk="},"45":{"list_price_min_45":"MTUuOTk=","offer_price_max_45":"MTUuOTk=","list_price_max_45":"MTUuOTk=","total_savings_45":"MC4w","offer_price_min_45":"MTUuOTk=","is_part_onsale_45":"Tg==","is_mapp_45":"Tg=="},"09":{"total_savings_09":"MC4w","is_part_onsale_09":"Tg==","offer_price_max_09":"MTUuOTk=","offer_price_min_09":"MTUuOTk=","list_price_max_09":"MTUuOTk=","is_mapp_09":"Tg==","list_price_min_09":"MTUuOTk="},"20":{"list_price_max_20":"MTcuOTk=","offer_price_min_20":"MTcuOTk=","is_part_onsale_20":"Tg==","is_mapp_20":"Tg==","total_savings_20":"MC4w","list_price_min_20":"MTcuOTk=","offer_price_max_20":"MTcuOTk="},"28":{"offer_price_min_28":"MTUuOTk=","list_price_min_28":"MTUuOTk=","total_savings_28":"MC4w","is_part_onsale_28":"Tg==","list_price_max_28":"MTUuOTk=","is_mapp_28":"Tg==","offer_price_max_28":"MTUuOTk="},"06":{"offer_price_max_06":"MTUuOTk=","list_price_max_06":"MTUuOTk=","offer_price_min_06":"MTUuOTk=","list_price_min_06":"MTUuOTk=","is_mapp_06":"Tg==","total_savings_06":"MC4w","is_part_onsale_06":"Tg=="},"24":{"list_price_max_24":"MTUuOTk=","is_part_onsale_24":"Tg==","total_savings_24":"MC4w","list_price_min_24":"MTUuOTk=","offer_price_min_24":"MTUuOTk=","offer_price_max_24":"MTUuOTk=","is_mapp_24":"Tg=="},"25":{"total_savings_25":"MC4w","offer_price_max_25":"MTUuOTk=","list_price_max_25":"MTUuOTk=","list_price_min_25":"MTUuOTk=","is_mapp_25":"Tg==","offer_price_min_25":"MTUuOTk=","is_part_onsale_25":"Tg=="},"29":{"list_price_min_29":"MTUuOTk=","total_savings_29":"MC4w","offer_price_min_29":"MTUuOTk=","offer_price_max_29":"MTUuOTk=","list_price_max_29":"MTUuOTk=","is_mapp_29":"Tg==","is_part_onsale_29":"Tg=="},"19":{"list_price_min_19":"MTUuOTk=","total_savings_19":"MC4w","offer_price_min_19":"MTUuOTk=","is_part_onsale_19":"Tg==","is_mapp_19":"Tg==","list_price_max_19":"MTUuOTk=","offer_price_max_19":"MTUuOTk="},"04":{"is_part_onsale_04":"Tg==","offer_price_min_04":"MTUuOTk=","list_price_max_04":"MTUuOTk=","is_mapp_04":"Tg==","offer_price_max_04":"MTUuOTk=","list_price_min_04":"MTUuOTk=","total_savings_04":"MC4w"},"12":{"is_part_onsale_12":"Tg==","total_savings_12":"MC4w","is_mapp_12":"Tg==","list_price_min_12":"MTUuOTk=","list_price_max_12":"MTUuOTk=","offer_price_min_12":"MTUuOTk=","offer_price_max_12":"MTUuOTk="},"46":{"list_price_min_46":"MTUuOTk=","list_price_max_46":"MTUuOTk=","total_savings_46":"MC4w","is_part_onsale_46":"Tg==","offer_price_min_46":"MTUuOTk=","offer_price_max_46":"MTUuOTk=","is_mapp_46":"Tg=="},"47":{"is_part_onsale_47":"Tg==","list_price_min_47":"MTUuOTk=","offer_price_max_47":"MTUuOTk=","total_savings_47":"MC4w","is_mapp_47":"Tg==","list_price_max_47":"MTUuOTk=","offer_price_min_47":"MTUuOTk="}}
答案 1 :(得分:1)
字符串似乎是一个Json文件。每个&#x
后跟两个十六进制字符。您可以查看here以查看ascii表。
答案 2 :(得分:1)
这似乎是编码的JSON:
您可以使用C#轻松解码它。
static int HexToInt (char hexChar)
{
hexChar = char.ToUpper (hexChar);
return (int)hexChar < (int)'A' ?
((int)hexChar - (int)'0') :
10 + ((int)hexChar - (int)'A');
}
public static string Decode (string s)
{
var result = new StringBuilder ();
for (int i = 0; i < s.Length; i++) {
char ch = s [i];
if (ch == '&') {
ch = Convert.ToChar (HexToInt (s [i + 3]) * 16 +
HexToInt (s [i + 4]));
i += 5;
}
result.Append (ch);
}
return result.ToString ();
}
解码结果如下:https://gist.github.com/viniciusjarina/c394714744c5036c2b32aa17ee58dbee