首页
学习
活动
专区
圈层
工具
发布

Json在Json
EN

Stack Overflow用户
提问于 2015-11-20 14:29:21
回答 1查看 38关注 0票数 0

我使用gson来序列化和反序列化。我的目标如下:

代码语言:javascript
复制
OBJECT A:
String myEmail;
int    rank;
String msgData;

在上面的例子中,msgData是一个json字符串,所以以上json形式的对象将在两个步骤中反序列化。由于特殊原因,我们必须分两步完成。下面的对象B-将是上面msgData的json。

代码语言:javascript
复制
OBJECT B:
String myName;
int myNumber;
String[] myStrings;

对象B的Json如下:

代码语言:javascript
复制
{
  "myName": "TheJumper",
  "myNumber": "35",
  "myString": [
    "abc",
    "efg",
    "xyz"
  ]
}

问题:我们如何表示json -对象B;在对象A的json形式中,当对象A被反序列化时,对象B的json可以提取为字符串。

例如:对象A的Json可以表示为(有效的Json):

代码语言:javascript
复制
{
  "myEmail": "abc@example.com",
  "myRank": "50",
  "msgData": "This is a Message"
}

当我尝试以下-它给我一个无效的json错误。

代码语言:javascript
复制
{
  "myEmail": "abc@example.com",
  "myRank":  "50",
  "msgData": "{
      "myName": "TheJumper",
      "myNumber": "35",
      "myString": [
        "abc",
        "efg",
        "xyz"
      ]
    }"
}

我尝试过许多事情,但都解决不了。这是怎么做的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-20 14:34:39

我们如何表示json -对象B;在对象A的json形式中,当对象A被反序列化时,对象B的json可以提取为字符串。

您需要用对象OBJECT字符串中的\"转义所有引号;

代码语言:javascript
复制
{
  "myEmail": "abc@example.com",
  "myRank":  "50",
  "msgData": "{
      \"myName\": \"TheJumper\",
      \"myNumber\": \"35\",
      \"myString\": [
        \"abc\",
        \"efg\",
        \"xyz\"
      ]
    }"
}

折叠在一条线上,它看起来像:

代码语言:javascript
复制
{
    "myEmail": "abc@example.com",
    "myRank": "50",
    "msgData": "{ \"myName\": \"TheJumper\", \"myNumber\": \"35\", \"myString\": [ \"abc\", \"efg\", \"xyz\" ] }"
}

但是,更好的方法是编写有效的JSON,然后将其表示形式转换为字符串。这样,你就不用担心逃跑了。例如,您将拥有:

代码语言:javascript
复制
{
  "myEmail": "abc@example.com",
  "myRank":  "50",
  "msgData": {
      "myName": "TheJumper",
      "myNumber": "35",
      "myString": [
        "abc",
        "efg",
        "xyz"
      ]
    }
}

然后,当您到达msgData时,使用GSON将其转换为带有Gson#toJson()的字符串。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33829157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档