如何解析统一中wp登录响应的JSON响应



我可以将用户凭据发布到wordpress API端点并验证登录凭据,它会返回一个JSON,如下所示,我应该如何解析数据中的这个JSON对象,以从下面的JSON响应中获得ID的值

{
"data": {
"ID": "1",
"user_login": "jerry.abraham@kccc.come",
"user_pass": "$P$B2yv.gPx6pYXvnO6u59zkGZdUhXddddXRw.",
"user_nicename": "jerry-abrahameeee",
"user_email": "jerry.abraham@eee.com",
"user_url": "",
"user_registered": "2019-10-09 07:05:56",
"user_activation_key": "",
"user_status": "0",
"display_name": "jerry.abraham@wewewew.ae"
},
"ID": 1,
"caps": {
"administrator": true
},
"cap_key": "wp_capabilities",
"roles": ["administrator"],
"allcaps": {
"switch_themes": true,
"edit_themes": true,
"edit_others_user_registrations": true,
"publish_user_registrations": true,
"read_private_user_registrations": true,
"delete_user_registrations": true,
"delete_private_user_registrations": true,
"delete_published_user_registrations": true,
"delete_others_user_registrations": true,
"edit_private_user_registrations": true,
"edit_published_user_registrations": true,
"manage_user_registration_terms": true,
"edit_user_registration_terms": true,
"delete_user_registration_terms": true,
"assign_user_registration_terms": true,
"manage_email_logs": true,
"administrator": true
},
"filter": null
}

首先需要使类与其实体相同,然后需要使用JsonUtility将json字符串转换为您创建的类。我在这里举了一个例子,使用resources文件夹中的json文件来明确您需要如何读取这些数据,比如:

using UnityEngine;
using System;
using System.IO;
using System.Text;
using System.Globalization;
public class ReadJson : MonoBehaviour
{
public ContainJson classeFromJson;
// Start is called before the first frame update
void Start()
{
ReadJsonFromResources();
}
public void ReadJsonFromResources()
{
string json = "";
using (StreamReader r = new StreamReader("./Assets/Resources/PlaceHolderJSON/data.json", Encoding.GetEncoding(CultureInfo.GetCultureInfo("pt-BR").TextInfo.ANSICodePage)))
{
json = r.ReadToEnd();
}
ContainJson containJson = JsonUtility.FromJson<ContainJson>(json);
classeFromJson = containJson;
}
}
[Serializable]
public class ContainJson
{
public Data data;
public int ID;
public Caps caps;
public string cap_key;
public string[] roles;
public AllCaps allcaps;
public string filter;
}

[Serializable]
public class Data
{
public string ID;
public string user_login;
public string user_pass;
public string user_nicename;
public string user_email;
public string user_url;
public string user_registered;
public string user_activation_key;
public string user_status;
public string display_name;
}
[Serializable]
public class Caps
{
public bool administrator;
}

[Serializable]
public class AllCaps
{
public bool switch_themes;
public bool edit_themes;
public bool edit_others_user_registrations;
public bool publish_user_registrations;
public bool read_private_user_registrations;
public bool delete_user_registrations;
public bool delete_private_user_registrations;
public bool delete_published_user_registrations;
public bool delete_others_user_registrations;
public bool edit_private_user_registrations;
public bool edit_published_user_registrations;
public bool manage_user_registration_terms;
public bool edit_user_registration_terms;
public bool delete_user_registration_terms;
public bool assign_user_registration_terms;
public bool manage_email_logs;
public bool administrator;
}

最新更新