gpt4 book ai didi

java - 从 C# WebService 生成的 JSON 字符串获取值

转载 作者:行者123 更新时间:2023-11-30 10:21:16 25 4
gpt4 key购买 nike

这是我的 C# 网络服务,它生成一个 JSON 字符串。下面的代码块是我为此使用的代码块。

List<Dictionary<String, Object>> lstdict = new List<Dictionary<String, Object>>();

...
...
...
Logic for connecting db and getting records in msqldat (data reader)
goes here.
...
...

while (msqldat.Read())
{
var detls = new Dictionary<string, object>();
for (int i = 0; i < msqldat.FieldCount; i++)
{
detls.Add(msqldat.GetName(i), msqldat.IsDBNull(i) ? null :
msqldat.GetValue(i));
lstdict.Add(detls);
}
}
JavaScriptSerializer jss = new JavaScriptSerializer();
String mret = jss.Serialize(lstdict);

上面的 web 服务是在 android studio 的 java 代码中调用的,它返回下面的字符串。

{"GetDataResult":"[
{\"uname\":\"hkIUZIikXVTC5aNaSva8IQ==\",
\"passwd\":\"hkIUZIikXVTC5aNaSva8IQ==\",
\"validupto\":\"\\\/Date(1545330600000)\\\/\",
\"dept\":\"juubHSHgLr\/3JWnrZCh5LeeW5Q7lioWOZ1\/Tg+YRy\/o=\",
\"rid\":1},
{\"uname\":\"hkIUZIikXVTC5aNaSva8IQ==\",
\"passwd\":\"hkIUZIikXVTC5aNaSva8IQ==\",
\"validupto\":\"\\\/Date(1545330600000)\\\/\",
\"dept\":\"juubHSHgLr\/3JWnrZCh5LeeW5Q7lioWOZ1\/Tg+YRy\/o=\",
\"rid\":2}]"}

我正在尝试使用此 Java 代码获取 android 应用程序中的值:

JSONObject uiobj = new JSONObject(mret);
JSONArray arrUserinfo = uiobj.getJSONArray("GetDataResult");
arrUserinfo.getJSONObject(0).getString("uname"))

代码在第二行失败。我是 JSON 的新手。不确定从 c# 代码生成的 JSON 是否不正确或用于解析的 java 代码不正确。请进一步指教。提前谢谢你。

最佳答案

上面的json是序列化的,你需要解析json,然后从中提取对象。

看到这个 json 有效..

{
"GetDataResult": [{
"uname": "hkIUZIikXVTC5aNaSva8IQ==",
"passwd": "hkIUZIikXVTC5aNaSva8IQ==",
"validupto": "/Date(1545330600000)/",
"dept": "juubHSHgLr/3JWnrZCh5LeeW5Q7lioWOZ1/Tg+YRy/o=",
"rid": 1
},
{
"uname": "hkIUZIikXVTC5aNaSva8IQ==",
"passwd": "hkIUZIikXVTC5aNaSva8IQ==",
"validupto": "/Date(1545330600000)/",
"dept": "juubHSHgLr/3JWnrZCh5LeeW5Q7lioWOZ1/Tg+YRy/o=",
"rid": 2
}
]
}

要在 java 中解析 json,请参阅下面的帖子..

https://www.geeksforgeeks.org/parse-json-java/

关于java - 从 C# WebService 生成的 JSON 字符串获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47950040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com