android - 保留通过 adb shell 发送的 JSON 引号

标签 android json powershell adb

我正在尝试向 Activity 发送 JSON 参数,但似乎无法通过如下命令执行此操作:

adb shell am start -n <activity> -e argument_name '{"blah":"blah"}'

一旦我的应用程序获取 JSON 字符串中的任何双引号,它们就会被删除(“blah”:“blah”变为 blah:blah)。我必须先启动 adb shell,然后运行 ​​am start 这样引号就不会被删除。这发生在 Windows Powershell 上。

我试过 the solution suggested here by Jerry101 (i.e. custom handling of quotes)但这没有帮助。我不想先进入 shell,因为我想从 Powershell 脚本自动启动 android 应用程序。这意味着运行 adb shell 命令,该命令会像上面的示例一样向 shell 发出命令(作为单行程序)。

最佳答案

通过实验,我发现我需要在初始单引号内添加另一个单引号(并且每个单引号都需要使用一对来转义)。双引号需要使用反斜杠字符进行转义。这是一个有效的示例:

adb shell am start -n <activity> -e argument_name '''{\"blah\":\"blah\"}'''

这适用于我的情况。接收方(Unity)看到双引号。

关于android - 保留通过 adb shell 发送的 JSON 引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42016553/

相关文章:

android - 检测状态栏可见性/TYPE_SYSTEM_OVERLAY 未自动调整大小

Android 平台上的 Android 库和 Java 经典库(.jar)

java - 如何在android中解析具有多个键的json对象

python - 通过脚本运行 Scrapy spider & 配置输出文件的设置

powershell - 有没有一种简单的方法可以在 Powershell 中创建自定义类型?

powershell - 在 PowerShell 脚本中捕获 MSBuild.exe 输出

powershell - 使用 Powershell 的用户登录/注销信息

android - 如何解析 JsonArray 中的 JsonObject

android - 我如何以编程方式对手机的 CPU 施加压力?

ruby-on-rails - 这是什么日期格式?