【发布时间】:2016-10-26 23:16:48
【问题描述】:
我正在使用自定义协议从 Windows 运行时应用程序打开另一个应用程序。我正在使用以下代码 sn-p:
await Launcher.LaunchUriAsync(new Uri("appb://hello"));
当有纯字符串时它工作正常。但它在传递 JSON 字符串时会出现解析错误。
Invalid URI: The hostname could not be parsed.
我正在通过以下方式创建 JSON:
JObject jObj = new JObject();
jObj.Add("Name", "abcdef");
jObj.Add("Address", "acvdfs");
string json = jObj.ToString();
它给 JSON 格式:
{“名称”:“abcdef”,“地址”:“acvdfs”}
【问题讨论】:
-
在使用 JSON
string值时,能否请您提供一下? -
另外,您是否将 whole JSON 字符串传递给方法?还是您首先获得所需的值,然后然后通过它?如果是第一个,那是因为 JSON 的工作方式——首先,您需要通过键获取值。有关 JSON 语法,请参见此处:w3schools.com/json/json_syntax.asp - 如果您可以提供 JSON
string的值,这也会有所帮助:) -
那么,您正在传递整个
json字符串吗? -
是的。喜欢:
await Launcher.LaunchUriAsync(new Uri("appb://" + json)); -
嗨 Kishor,我尝试转换为 base64,但它仅适用于短 json 字符串,可能是因为尝试编码大字符串时末尾有 '==' 字符。
标签: c# windows windows-runtime windows-8.1