我有这个问题:
我用这种格式重现字符串:
{
{
"name":"j1",
"type":"12"
},
{
"name":"j2",
"type":"15"
},
.....
}
我想阅读数据 喜欢get(" name")和get(type)来读取所有数据值并显示如
j1 12 j2 15 j3 23等等
我正在使用RAD studio,firemonkey用于移动设备。
我写了这段代码来解析字符串到JSON并读取它。
jo: TJSONObject;
jp: TJSONPair;
va1:TJSONvalue;
va2:TJSONvalue;
jo:= TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(a),0) as TJSONObject;
jp := jo.Get(1);
for i := 0 to jo.Size - 1 do
begin
jp := jo.Get(i);
Memo1.Lines.Add('ToString: ' + jp.ToString);
Memo1.Lines.Add('JsonString: ' + jp.JsonString.Value);
if (jp.JSONValue is TJSONTrue) or
(jp.JSONValue is TJSONFalse) or
(jp.JSONValue is TJSONNull) then
Memo1.Lines.Add('JsonValue: ' + jp.JsonValue.ToString)
else
Memo1.Lines.Add('JsonValue: ' + jp.JsonValue.Value)
end;
程序执行jp := jo.Get(1);
时出现此错误"地址53605374访问地址0000013C"
我尝试过其他方式......但我无法解开这个谜团。