我通过文档,StackOverflow等仔细研究,似乎无法找到这个......
我想要做的是将一个简单的值类型的对象序列化/反序列化为值,而不是对象,如下所示:
public class IPAddress
{
byte[] bytes;
public override string ToString() {... etc.
}
public class SomeOuterObject
{
string stringValue;
IPAddress ipValue;
}
IPAddress ip = new IPAddress("192.168.1.2");
var obj = new SomeOuterObject() {stringValue = "Some String", ipValue = ip};
string json = JsonConverter.SerializeObject(obj);
Run Code Online (Sandbox Code Playgroud)
我想要的是让json像这样序列化:
// json = {"someString":"Some String","ipValue":"192.168.1.2"} <- value serialized as value, not subobject
Run Code Online (Sandbox Code Playgroud)
不是ip成为嵌套对象的地方,例如:
// json = {"someString":"Some String","ipValue":{"value":"192.168.1.2"}}
Run Code Online (Sandbox Code Playgroud)
有谁知道如何做到这一点?谢谢!(PS我在大型毛茸茸的遗留.NET代码库上使用Json序列化,因此我无法真正更改任何现有类型,但我可以对它们进行扩充/因子/装饰以促进Json序列化.)
我有2个相关问题:
无论出于何种原因,我的Samsung TV Web应用程序都无法从Tizen Studio运行或调试(进入仿真器或电视)-只是说它失败了
当我尝试通过命令行工具进行构建/打包/安装(或运行)时,它说失败了,但该应用程序实际上已安装并可以运行(再次,模拟器和电视中的行为相同)
但是我的主要障碍是,我似乎无法将Chrome中的开发者工具附加到正在运行的应用程序中。说明说要通过以下方式进行连接:TV_IP:7011,但这只会返回“无法连接”页面。
没有命令行工具可以调试应用程序,只有一个可以运行它。
甚至要使我的应用程序(从服务器移植到一个非平凡的Web应用程序)以在Tizen Studio中构建,都需要查找许多验证步骤/设置并将其禁用。但是我最终能够获得一个.wgt软件包来构建-但它不会安装。
当您在电视上运行该应用程序时,它确实会启动,但之后会挂起。显然,没有任何调试器或控制台等是一个巨大的障碍。
我完全能够在Tizen中构建/调试一个更简单的“玩具”应用程序(同样,可以在模拟器和电视上都可以进行调试/运行),因此所有电视管道均已连接。关于这个更复杂的应用程序的某些事情,使Tizen尝试安装它时感到窒息,如果它认为失败,则无法对其进行调试。谢谢你的帮助。