我是C#的新手并尝试编写一些代码来获取网页并将其解析为可读格式。
我使用uri
从网页上获取了数据var uri2 = new Uri("explame.com")
我在下面的格式中看到响应如下:
{"name":"abc" "country":"xyz" "citizenship":"A" [{"pincode":"111", "Dis":"no"] Lot's of data follows something like that
有多个属性“name”和“country”作为回应。我的问题是如何获取如下所示的数据
name:abc
country:xyz
citizenshih:A
pincode 111
dis:no
对于响应代码中的所有属性。
答案 0 :(得分:1)
这是您获得的数据的确切格式吗?因为那是JSON- ish ,但它不是有效的JSON,也不会被解析。 如果,您实际上是在获取JSON,那么您可以对其进行反序列化。
使用类似Newtonsoft's JSON library的内容,您可以轻而易举地de-serialize JSON into an object。例如,这个JSON:
{
"name":"abc",
"country":"xyz",
"citizenship":"A",
"someProperty": [
{
"pincode":"111",
"Dis":"no"
}]
}
可以映射到这些类型:
class MyClass
{
public string Name { get; set; }
public string Country { get; set; }
public string Citizenship { get; set; }
public IEnumerable<MyOtherClass> SomeProperty { get; set; }
}
class MyOtherClass
{
public string Pincode { get; set; }
public string Dis { get; set; }
}
在这种情况下,反序列化可能就像这样简单:
var myObject = JsonConvert.DeserializeObject<MyClass>(yourJsonString);
答案 1 :(得分:0)
你可以尝试
public class MainActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
for (int i = 0; i < 10; i++) {
LinearLayout.LayoutParams lp =
new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
AppCompatCheckBox myCheckBox = new AppCompatCheckBox(this);
myCheckBox.setText("text");
myCheckBox.setTextSize(12);
myCheckBox.setId(i);
layout.addView(myCheckBox, lp);
}
}
}