我使用自定义协议从windows运行时应用程序打开另一个应用程序。 我正在使用以下代码片段:
await Launcher.LaunchUriAsync(new Uri("appb://hello"));
当有简单的string时,它工作正常。 但它传递一个JsONstring时会出现parsing错误。 InvalID URI: The hostname Could not be parsed.
我正在创buildJsON:
如何在windows上安装节点Jscanvas
为什么我的程序不能显示这个对话框,而另一个程序可以吗?
在windows上deBUGgingssl握手的选项
在结构中封装IntPtr 会导致midistream函数出错,但将数组展开为一堆字段
PowerShell事件日志xml xpathselect不工作
JObject jObj = new JObject(); jObj.Add("name","abcdef"); jObj.Add("Address","acvdfs"); string Json = jObj.ToString();
它给JsON如下:
{“name”:“abcdef”,“Address”:“acvdfs”}
如何使程序不显示控制台窗口?
在windows平台上构buildobjective-C代码
Ruby在windows下找不到模块(LoadError)
在cpp中redirect标准输出
从C#中的特定点分割string
你的问题是因为你发送的整个 Json字符串被创建为Uri。
您将需要首先从字符串中获取所需的值, 然后将这些值传递给您的方法。
作为一个例子,让我们说你的
JObject jObj = new JObject(); jObj.Add("name","acvdfs"); string Json = jObj.ToString();
代码会给你一个“ {name}/{Address} ”输出 – appb://abcdef/acvdfs
而不是直接解析一个string ,你将需要首先获取值。
否则你的
{“name”:“abcdef”,“Address”:“acvdfs”}
是什么造成的
无效的URI:主机名不能被分析。
错误。
你可以这样做,以便从该字符串中检索值:
var values = jObj.PropertIEs().Select(x => x.Value.ToString()).ToArray(); // Gives you an array of the values. var path = string.Join("/",values); // Creates an "a/b" path by joining the array. await Launcher.LaunchUriAsync(new Uri("appb://" + path)); // Give that path to create the Uri and pass to your method.
这段代码假设你只用键来创建我所拥有的路径。 它将适用于任何数量的键,因为它只是用“/”将所有值连接在一起 – 例如a/b/c/d/e/f/g等。
任何问题,只要问:)
希望这可以帮助!
总结以上是内存溢出为你收集整理的将JSONstring从一个应用程序传递到另一个应用程序(Windows 8.1应用程序)C#全部内容,希望文章能够帮你解决将JSONstring从一个应用程序传递到另一个应用程序(Windows 8.1应用程序)C#所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)