字符串中的特定文本

时间:2018-02-21 14:32:56

标签: json string split

我知道至少有数百个例子,但我找不到最适合我的例子。 我有一个像这样显示的字符串(包含所有空格,反斜杠等):

string textInfo = "{\n    \"code\": null,\n    \"success\": true,\n    \"data\": [\n        {\n            \"id\": 109322,\n            \"name\": \"Name Surname\",\n            \"display_name\": \"Name SURNAME\",\n            \"city\": \"Bellair\\u00eb\",\n            \"zip\": \"24000\",\n            \"street\": \"boulevard 21\"\n        }\n    ],\n    \"message\": null,\n    \"total\": 1\n}"

我想仅提取另一个字符串上的id,或名称或消息。例如:

string resultID = "109322" //for my id
string resultName = "Name Surname" //for my name

等...

非常感谢您花时间和精力帮助我。

亲切的问候

3 个答案:

答案 0 :(得分:1)

您要使用哪种语言?

由于您的字符串是JSON格式,请尝试使用JSON解析器解析它,然后从对象中读取

答案 1 :(得分:0)

如Jon所述,此字符串采用JSON(Javascript Object Notation)格式。

每种语言都有一种方法可以将JSON转换为一个对象,您可以从中提取每个属性作为属性。在javascript中,您可以使用JSON.stringify(textInfo)来表示对象表单中的数据。

机制如下所示:

jsonString = "{\n    \"code\": null,\n    \"success\": true,\n    \"data\": [\n        {\n            \"id\": 109322,\n            \"name\": \"Name Surname\",\n            \"display_name\": \"Name SURNAME\",\n            \"city\": \"Bellair\\u00eb\",\n            \"zip\": \"24000\",\n            \"street\": \"boulevard 21\"\n        }\n    ],\n    \"message\": null,\n    \"total\": 1\n}"
dataObject = JSON.parse(jsonString)

var resultID = dataObject.data.id //for my id
var resultName = dataObject.data.name //for my name

可以类似地查询其余属性。

作为参考,这是一个"美化"您的JSON数据的版本:

{  
   "code":null,
   "success":true,
   "data":[  
      {  
         "id":109322,
         "name":"Name Surname",
         "display_name":"Name SURNAME",
         "city":"Bellairë",
         "zip":"24000",
         "street":"boulevard 21"
      }
   ],
   "message":null,
   "total":1
}

答案 2 :(得分:0)

我感觉很难不努力。无论如何这里是我的Windows应用程序C#

的工作代码
string jsonString = "{\n    \"code\": null,\n    \"success\": true,\n    \"data\": [\n        {\n            \"id\": 109322,\n            \"name\": \"Name Surname\",\n            \"display_name\": \"Name SURNAME\",\n            \"city\": \"Bellair\\u00eb\",\n            \"zip\": \"24000\",\n            \"street\": \"boulevard 21\"\n        }\n    ],\n    \"message\": null,\n    \"total\": 1\n}"

JObject jsonObj = JObject.Parse(jsonString);

return (string)jsonObj["data"][0]["id"];

输出为:109322